Java学习第二周总结

2018年7月22日

  暑假第二周马上就要结束了,这一周我继续学习了java。

  本周学到了一些Java的修饰词,比如static、private、public等,这些修饰词用法与c++类似,很容易掌握。也学会了创建对象,学到了如何创建类的构造方法。还学到了如何使用Java里一些基础类的方法,比如String类、StringBuffer类。仅仅只是String类里就有30多种方法可供使用。除此之外,还学到了代码块、类的继承、方法的重写这些知识。

  本周花在学习上的时间估计达到25小时,周一至周五平均每天5小时学习Java的新知识,周六周日复习总结。其中,基本上每天都有1小时的时间练习代码。除此之外,我还尝试着做了做Java开学测试题,以下是我的代码,肯定会有好多地方可以优化,等以后我进一步掌握了Java再来修改吧。

import java.util.Scanner;
class Student {
    private String stunumber,name;
    private int age;
    private boolean sex;
    private double score;
    public void setNumber(String a) {
        stunumber=a;
    }
    public void setName(String a) {
        name=a;
    }
    public void setAge(int a) {
        age=a;
    }
    public void setSex(boolean a) {
        sex=a;
    }
    public void setScore(double a) {
        score=a;
    }
    public String getNumber() {
        return stunumber;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public boolean getSex() {
        return sex;
    }
    public double getScore() {
        return score;
    }
    Student() {
        stunumber="2017****";
        name="王**";
        age=20;
        sex=false;
        score=100;
    }
    Student(String a,String b,int c,boolean d,double e) {
        stunumber=a;
        name=b;
        age=c;
        sex=d;
        score=e;
    }
}
class StudentManager {
    int t=1;
    Student[] s = new Student[50];
    StudentManager() {
    s[0] = new Student();
    for(int i=1;i<50;i++)
        s[i] = new Student("null","null",0,false,0.0);
    }

//遍历输出学生信息
    public void showStudent() {
        for(int i = 0;i<50 && s[i].getNumber().compareTo("null")!=0;i++) {
            System.out.println("学号:" + s[i].getNumber());
            System.out.println("姓名:" + s[i].getName());
            System.out.println("年龄:" + s[i].getAge());
            System.out.println("性别:" + s[i].getSex());
            System.out.println("成绩:" + s[i].getScore() + "\n\n");
        }
    }

//新学生信息录入
    public void addStudent(String stunumber,String name,int age,boolean sex,double score) {
        for(int i = 0;i<50 && s[i].getNumber().compareTo("null")!=0;i++)
            if(s[i].getNumber().compareTo(stunumber)==0) {
                System.out.println("学号重复,禁止添加!\n\n\n");
                return;
            }
        s[t].setNumber(stunumber);
        s[t].setName(name);
        s[t].setAge(age);
        s[t].setSex(sex);
        s[t].setScore(score);
        t++;
        System.out.println("添加成功!\n\n\n");
    }

//删除学生信息
    public void deleteStudent(String stunumber){
        for(int i = 0;i<50 && s[i].getNumber().compareTo("null")!=0;i++)
            if(s[i].getNumber().compareTo(stunumber)==0){
                for(int j=i;j<49 && s[j].getNumber().compareTo("null")!=0;j++){
                    s[j].setNumber(s[j+1].getNumber());
                    s[j].setName(s[j+1].getName());
                    s[j].setAge(s[j+1].getAge());
                    s[j].setSex(s[j+1].getSex());
                    s[j].setScore(s[j+1].getScore());
                }
                s[49] = new Student("null","null",0,false,0.0);
                System.out.println("删除成功!\n\n\n");
                return;
            }
        System.out.println("无此学生,无需删除!\n\n\n");
    }

//修改学生信息
    public void updateStudent(String stunumber,String name,int age,boolean sex,double score) {
        for(int i = 0;i<50 && s[i].getNumber().compareTo("null")!=0;i++)
            if(s[i].getNumber().compareTo(stunumber)==0){
                s[i].setNumber(stunumber);
                s[i].setName(name);
                s[i].setAge(age);
                s[i].setSex(sex);
                s[i].setScore(score);
                System.out.println("修改成功!\n\n\n");
                return;
            }
        System.out.println("无此学生,无法修改!\n\n\n");
    }

//查询学生信息
    public void selectStudent(String stunumber){
        for(int i = 0;i<50 && s[i].getNumber().compareTo("null")!=0;i++)
            if(s[i].getNumber().compareTo(stunumber)==0) {
                System.out.println("学号:" + s[i].getNumber());
                System.out.println("姓名:" + s[i].getName());
                System.out.println("年龄:" + s[i].getAge());
                System.out.println("性别:" + s[i].getSex());
                System.out.println("成绩:" + s[i].getScore() + "\n\n\n");
                return;
            }
        System.out.println("无此学生!\n\n\n");
    }
}
public class StudentSystem {
    public static void main(String[] args) {
        StudentManager st = new StudentManager();
        Scanner sc = new Scanner(System.in);
        int k=0;
        Boundary();
        do{
            int j = sc.nextInt();
            switch(j)
            {
                case 1:st.showStudent();break;
                case 2:
                       System.out.println("输入学生学号:");
                       String nu = sc.next();
                       System.out.println("输入学生姓名:");
                       String na = sc.next();
                       System.out.println("输入学生年龄:");
                       int ag = sc.nextInt();
                       System.out.println("输入学生性别:");
                       boolean se = sc.nextBoolean();
                       System.out.println("输入学生成绩:");
                       double sco = sc.nextDouble();
                       st.addStudent(nu,na,ag,se,sco);break;
                case 3:System.out.println("输入学生学号:");
                       String nu2 = sc.next();
                       st.deleteStudent(nu2);break;
                case 4:System.out.println("输入学生学号:");
                       String nu1 = sc.next();
                       System.out.println("输入学生姓名:");
                       String na1 = sc.next();
                       System.out.println("输入学生年龄:");
                       int ag1 = sc.nextInt();
                       System.out.println("输入学生性别:");
                       boolean se1 = sc.nextBoolean();
                       System.out.println("输入学生成绩:");
                       double sco1 = sc.nextDouble();
                       st.updateStudent(nu1,na1,ag1,se1,sco1);break;
                case 5:System.out.println("输入学生学号:");
                       String nu3 = sc.next();
                       st.selectStudent(nu3);break;
                default:return;
            }
        }while(k==0);
    }
    public static void Boundary() {
        System.out.println("************************************************\n");
        System.out.println("        石家庄铁道大学信息科学与技术学院        \n");
        System.out.println("              学生信息管理系统V2.0              \n");
        System.out.println("************************************************\n");
        System.out.println("               1.遍历输出学生信息;              \n");
        System.out.println("               2.新学生信息录入;                \n");
        System.out.println("               3.删除学生信息;                  \n");
        System.out.println("               4.修改学生信息;                  \n");
        System.out.println("               5.查询学生信息;                  \n");
        System.out.println("               6.退出系统;                      \n");
        System.out.println("************************************************");
    }
}

  本周遇到的问题很少,因为敲代码基本都是跟着视频在做,所以不会出什么问题。但是尝试做Java开学测试题时遇到了一些问题,这些问题很容易解决,百度一搜就OK了。

  下一周我会继续看教学视频学Java。按照进度,三周结束后,我基本能将Java基础全部掌握。

猜你喜欢

转载自www.cnblogs.com/dream0-0/p/9349030.html