//文件名:Student.java
    //包名:personal.studentManager.com

    1. package personal.studentManager.com;
    2. import java.util.Scanner;
    3. /*
    4. * 定义学生类,包括属性:学号,姓名,语文,数学;包括方法:构造方法,完成属性赋值,
    5. * 能修改属性
    6. * 录入成绩
    7. * 能按学号查询成绩。
    8. * 班级共有10名学生,请利用类及数组完成相关代码。*/
    9. public class Student {
    10. Scanner input = new Scanner(System.in); //输入类
    11. //定义属性
    12. String m_sID;
    13. String m_sName;
    14. double m_mathScore;
    15. double m_chineseScore;
    16. //有参构造直接赋值
    17. public Student(String sID, String sName, double mathScore, double chineseScore) {
    18. this.m_sID = sID;
    19. this.m_sName = sName;
    20. this.m_mathScore = mathScore;
    21. this.m_chineseScore = chineseScore;
    22. }
    23. //无参构造直接赋值为默认值
    24. public Student() {
    25. this.m_sID = "Default sID";
    26. this.m_sName = "Default sName";
    27. this.m_mathScore = 0.0;
    28. this.m_chineseScore = 0.0;
    29. }
    30. //更改方法
    31. void updateInfo() {
    32. System.out.println("请输入要更改的学号");
    33. this.m_sID = input.next();
    34. System.out.println("请输入要更改的姓名");
    35. this.m_sName = input.next();
    36. System.out.println("请输入要更改的语文成绩");
    37. this.m_chineseScore = input.nextDouble();
    38. System.out.println("请输入要更改的数学成绩");
    39. this.m_mathScore = input.nextDouble();
    40. System.out.println(this.m_sName+"学生更改完成");
    41. }
    42. //录入成绩方法
    43. void updateScore() {
    44. System.out.println("请输入学生的语文成绩");
    45. this.m_chineseScore = input.nextDouble();
    46. System.out.println("请输入学生的数学成绩");
    47. this.m_mathScore = input.nextDouble();
    48. }
    49. //显示信息方法
    50. void showStudentInfo() {
    51. System.out.println("该学生的姓名为"+this.m_sName);
    52. System.out.println("该学生的语文成绩为"+this.m_chineseScore);
    53. System.out.println("该学生的数学成绩为"+this.m_mathScore);
    54. }
    55. //重载显示信息方法,直接传参赋值
    56. void updateScore(double mathScore,double chineseScore) {
    57. this.m_chineseScore = chineseScore;
    58. this.m_mathScore = mathScore;
    59. }
    60. int getStudentIntID() {
    61. return Integer.parseInt(this.m_sID); //返回int类型的学号,以便后续维护排序
    62. }
    63. String getStudentStrId() { //返回str类型的学号,以便后续维护查找
    64. return this.m_sID;
    65. }
    66. }

    //文件名:Manager.java
    //包名:personal.studentManager.com
    //主函数入口

    1. package personal.studentManager;
    2. import java.util.Scanner;
    3. public class Manager {
    4. static Scanner input = new Scanner(System.in);
    5. public static void main(String[] args) {
    6. // TODO Auto-generated method stub
    7. Student studentArr[] = new Student[10];
    8. for(int i = 0; i < 10; i++) {
    9. studentArr[i] = new Student(); //在堆区创建对象的构造
    10. }
    11. search(studentArr); //查找函数
    12. updateScore(studentArr); //录入信息
    13. }
    14. /*
    15. * updateScore函数用于录入学生成绩
    16. * 传入一个对象组引用
    17. * */
    18. public static void updateScore(Student studentArr[]) {
    19. for(int i = 0; i < 10; i++) {
    20. studentArr[i].updateInfo(); //初始即赋值
    21. }
    22. }
    23. /*
    24. * search函数用于按学号查找学生成绩
    25. * 传入一个对象组引用
    26. * */
    27. public static void search(Student studentArr[]) {
    28. System.out.println("请输入要查询成绩的学生");
    29. String id = input.next();
    30. boolean isExits = false; // 是否查找成功标识
    31. for(int i = 0; i < 10; i++) {
    32. if(studentArr[i].getStudentStrId().equals(id)) {
    33. studentArr[i].showStudentInfo();
    34. isExits = true;
    35. break;
    36. }else {
    37. continue;
    38. }
    39. }
    40. if(!isExits) {
    41. System.out.println("查无此人");
    42. }
    43. }
    44. }