20165321实验一 Java开发环境的熟悉

一、idea调试:


二、实验内容:
4. 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况)。
运行截图:




代码:
public class Student {
String name;
String studentId;
String sex;
int grade;

public Student(String name,String studentId,String sex,int grade){
    this.name= name;
    this.studentId= studentId;
    this.sex = sex;
    this.grade = grade;    
}

public int getGrade(){
    return grade;
}
public String getName(){
    return name;
}

public String getSex(){
    return sex;
}

public void setGrade(int g){
    this.grade = g;
}

public String getStudentId(){
    return studentId;
}

}

import java.util.*;
public class StudentSystem {

static List<Student> StudentList = new LinkedList<Student>();
public static void main(String[] agrs){
    
    
    select(StudentList);        
            
}
private static void select(List<Student> StudentList ){
    System.out.println("***************");
    System.out.println("*欢迎来到学生管理系统 *");
    System.out.println("*1:增加学生                    *");
    System.out.println("*2:删除学生                    *");
    System.out.println("*3:修改成绩                    *");
    System.out.println("*4:查询成绩                    *");
    System.out.println("***************");
    System.out.println("若要退出系统,请输入1、2、3、4外的其他数字!!!");
    System.out.println("您想选择的操作是:");
    Scanner sc = new Scanner(System.in);
    int choice = sc.nextInt();        
    switch(choice){
    //增加学生
    case 1:
        System.out.print("请输入学生的姓名:");
        Scanner Sname = new Scanner(System.in);
        String name = Sname.nextLine();
        System.out.print("请输入学生的性别:");
        Scanner Ssex = new Scanner(System.in);
        String sex = Ssex.nextLine();
        System.out.print("请输入学生的学号:");
        Scanner SId = new Scanner(System.in);
        String studentId = SId.nextLine();
        System.out.print("请输入学生的成绩:");
        Scanner Sgrade = new Scanner(System.in);
        int grade = Sgrade.nextInt();
        StudentList.add(new Student(name,studentId,sex,grade));
        System.out.println("添加成功!!!");
        select(StudentList);
        break;
    //删除学生成绩
    case 2:
        System.out.print("请告诉我需要删除学生的学号:");
        Scanner Sid = new Scanner(System.in);
        String SstudentId = Sid.nextLine();
        boolean isfindDelete = false;
        for (int i = 0; i < StudentList.size(); i++) {
            if(SstudentId.equals(StudentList.get(i).getStudentId())){
                StudentList.remove(i);
                System.out.println("删除成功!!!");
                isfindDelete =true;
            }
        }
        if(!isfindDelete){
            System.out.println("抱歉,没有找到");
        }
        select(StudentList);
        break;
    //修改学生成绩
    case 3:
        System.out.print("请告诉我需要修改成绩学生的学号:");
        Scanner GId = new Scanner(System.in);
        String GstudentId = GId.nextLine();
        boolean isfindChange = false;
        for (int j = 0; j < StudentList.size(); j++) {
            if(GstudentId.equals(StudentList.get(j).getStudentId())){
                System.out.println("学生原成绩为"+StudentList.get(j).getGrade());
                System.out.print("请输入修改后学生的成绩:");
                Scanner Ggrade = new Scanner(System.in);
                int grade2 = Ggrade.nextInt();
                StudentList.get(j).setGrade(grade2);
                System.out.println("修改成功!!!");
                isfindChange =true;
            }else{
                
            }
        }
        if(!isfindChange){
            System.out.println("没有该名学生!");
        }
        select(StudentList);
        break;
    //查看学生成绩
    case 4:
        System.out.print("请告诉我需要查询学生的学号:");
        Scanner CId = new Scanner(System.in);
        String CstudentId = CId.nextLine();
        boolean isfindData = false;
        for (int i = 0; i < StudentList.size(); i++) {
            if(CstudentId.equals(StudentList.get(i).getStudentId())){
                System.out.println("名字:"+StudentList.get(i).getName());
                System.out.println("性别:"+StudentList.get(i).getSex());
                System.out.println("学号:"+StudentList.get(i).getStudentId());
                System.out.println("成绩:"+StudentList.get(i).getGrade());
                isfindData = true;
            
            }
        }
        if(!isfindData){
        System.out.println("没有该名学生!");
        }
        select(StudentList);
        break;
    default:
        System.out.println("退出系统!!!");
        break;
    }
    
}

}

感想:
  一开始,当我得知我抽到的实验是几乎最难、代码也最长的实验的时候,我还有点丧气。但是,转念一想,以前在学习C语言的时候,我曾经编写过类似的学生成绩管理系统,这次只不过是换了一种语言而已,而且用Java语言来编写这种程序说不定比用C语言来编写还要简单,于是终究还是开始着手写代码。一开始,自然而然地想到创建一个用于存放学生信息的student类,后来,又想到可以把输入信息的函数放进student类里面。一开始我不知道如何删除学生,在参考了一些其他程序之后,终于是写出来。
  由于自己的Java功底还不到家,所以在参考了一部分程序后,才艰难地写出了代码。

步骤 耗时 百分比
需求分析 10 4%
设计 20 8%
代码实现 180 72%
测试 10 4%
分析总结 20 8%
原文地址:https://www.cnblogs.com/xpl20165321/p/8692610.html