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="********"; 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() + " "); } } //新学生信息录入 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("学号重复,禁止添加! "); 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("添加成功! "); } //删除学生信息 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("删除成功! "); return; } System.out.println("无此学生,无需删除! "); } //修改学生信息 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("修改成功! "); return; } System.out.println("无此学生,无法修改! "); } //查询学生信息 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() + " "); return; } System.out.println("无此学生! "); } } 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("************************************************ "); System.out.println(" 石家庄铁道大学信息科学与技术学院 "); System.out.println(" 学生信息管理系统V2.0 "); System.out.println("************************************************ "); System.out.println(" 1.遍历输出学生信息; "); System.out.println(" 2.新学生信息录入; "); System.out.println(" 3.删除学生信息; "); System.out.println(" 4.修改学生信息; "); System.out.println(" 5.查询学生信息; "); System.out.println(" 6.退出系统; "); System.out.println("************************************************"); } }
本周遇到的问题很少,因为敲代码基本都是跟着视频在做,所以不会出什么问题。但是尝试做Java开学测试题时遇到了一些问题,这些问题很容易解决,百度一搜就OK了。
下一周我会继续看教学视频学Java。按照进度,三周结束后,我基本能将Java基础全部掌握。