源代码如下:
1 package Students; 2 public class Person 3 { 4 public String name; 5 public String birthday; 6 public String province,city; 7 public int count; 8 public Person(String nam,String birthda,String provinc,String cit,int n) 9 { 10 name=nam;birthday=birthda;province=provinc;city=cit;count=n; 11 12 } 13 } 14 15 class Student extends Person 16 {public String major; 17 public int sum1,sum2,sum3; 18 public int grade; 19 public int number; 20 public int score; 21 22 Student(String nam,String birthda,String provinc,String cit,int n,String majo,int grad,int scor) 23 { super(nam,birthda,provinc,cit,n); 24 major=majo; 25 grade=grad; 26 score=scor; 27 String a,b,c; 28 a=new String("网络工程"); 29 b=new String("物联网"); 30 c=new String("计算机科学与技术"); 31 32 33 if(major.equals(a)) 34 {number=grade*10000+01*100+count; 35 } 36 if(major.equals(b)) 37 {number=grade*10000+02*100+count; 38 } 39 if(major.equals(c)) 40 {number=grade*10000+03*100+count; 41 } 42 43 } 44 public void searchname(String nam) 45 { int i=-1; 46 i=name.indexOf(nam); 47 48 if(i!=-1) 49 System.out.println(name); 50 }; 51 public void searchbirthday(String num) 52 { 53 int i=-1; 54 i=birthday.indexOf(num); 55 if(i!=-1) 56 System.out.println(name); 57 } 58 public void searchplace(String place) 59 { 60 int i=-1; 61 i=province.indexOf(place); 62 if(i!=-1) 63 System.out.println(name); 64 65 } 66 67 public int separate() 68 { 69 String a,b,c; 70 71 a=new String("网络工程"); 72 b=new String("物联网"); 73 c=new String("计算机科学与技术"); 74 if(major.equals(a)) 75 { 76 sum1=sum1+score; 77 return sum1; 78 } 79 if(major.equals(b)) 80 {sum2=sum2+score; 81 return sum2; 82 } 83 if(major.equals(c)) 84 { 85 sum3=sum3+score; 86 return sum3; 87 } 88 else return 0; 89 } 90 91 public static void main(String[] args) 92 { 93 System.out.println("初始数据:学生1:姓名:张三,生日:1998年11月15日,省份:青海,城市:西宁,专业:物联网,入学年份:2017,成绩:89"); 94 System.out.println(" 学生2:姓名:李四,生日:1999年01月08日,省份:河南,城市:洛阳,专业:网络工程,入学年份:2017,成绩:97"); 95 System.out.println(" 学生3:姓名:王二,生日:1998年07月24日,省份:山东,城市:青岛,专业:网络工程,入学年份:2017,成绩:92"); 96 System.out.println(" 学生4:姓名:赵六,生日:1997年08月30日,省份:陕西,城市:西安,专业:计算机科学与技术,入学年份:2017,成绩:84"); 97 System.out.print("查找姓‘王’的学生为:"); 98 Student stud1=new Student("张三","1998年11月15日","青海","西宁",01,"物联网",2017,89); 99 Student stud2=new Student("李四","1999年01月08日","河南","洛阳",02,"网络工程",2017,97); 100 Student stud3=new Student("王二","1998年07月24日","山东","青岛",03,"网络工程",2017,92); 101 Student stud4=new Student("赵六","1997年08月30日","陕西","西安",04,"计算机科学与技术",2017,84); 102 stud1.searchname("王"); 103 stud2.searchname("王"); 104 stud3.searchname("王"); 105 stud4.searchname("王"); 106 System.out.print("查找生日为1999年01月08日的学生为:"); 107 stud1.searchbirthday("1999年01月08日"); 108 stud2.searchbirthday("1999年01月08日"); 109 stud3.searchbirthday("1999年01月08日"); 110 stud4.searchbirthday("1999年01月08日"); 111 System.out.print("查找所在地区是陕西的学生为:"); 112 stud1.searchplace("陕西"); 113 stud2.searchplace("陕西"); 114 stud3.searchplace("陕西"); 115 stud4.searchplace("陕西"); 116 stud1.separate(); 117 stud2.separate(); 118 stud3.separate(); 119 stud4.separate(); 120 int add1=0,add2=0,add3=0; 121 add1=stud1.sum1+stud2.sum1+stud3.sum1+stud4.sum1; 122 add2=stud1.sum2+stud2.sum2+stud3.sum2+stud4.sum2; 123 add3=stud1.sum3+stud2.sum3+stud3.sum3+stud4.sum3; 124 System.out.println("网络工程班总成绩是:"+add1); 125 System.out.println("物联网班总成绩是:"+add2); 126 System.out.println("计算机科学与技术班总成绩是:"+add3); 127 } 128 }
心得总结:
(1)在定义数据类型时一定不要加上static,不然后面的对象数据会覆盖之前的数据
(2)在统计成绩时,一定要先运行对象中的函数separate(),因为对象是无法自动执行函数
(3)最后是通过该实验,掌握了几个新的调用函数,如:indexOf(),这个函数作用是匹配字符串中的相同部分,equals(),这个函数作用是比较两个字符串是否相同,如果不同则返回-1,相同则返回0
实验7:Student类继承Person类,并增加查找,统计功能
原文:https://www.cnblogs.com/fjcy/p/10821383.html