十年编程两茫茫,工期短,需求长。千行代码,Bug何处藏。纵使上线又如何,新版本,继续忙。黑白颠倒没商量,睡地铺,吃食堂。夜半梦醒,无人在身旁。最怕灯火阑珊时,手机响,心里慌。

实验7:Student类继承Person类,并增加查找,统计功能

 

 

 

源代码如下:

  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         Student stud1=new Student("张三","1998年11月15日","青海","西宁",01,"物联网",2017,89);
 98         Student stud2=new Student("李四","1999年01月08日","河南","洛阳",02,"网络工程",2017,97);
 99         Student stud3=new Student("王二","1998年07月24日","山东","青岛",03,"网络工程",2017,92);
100         Student stud4=new Student("赵六","1997年08月30日","陕西","西安",04,"计算机科学与技术",2017,84);
101         System.out.println("张三的学号为:"+stud1.number);
102         System.out.println("李四的学号为:"+stud2.number);
103         System.out.println("王二的学号为:"+stud3.number);
104         System.out.println("赵六的学号为:"+stud4.number);
105         System.out.print("查找姓‘王’的学生为:");
106         stud1.searchname("王");
107         stud2.searchname("王");
108         stud3.searchname("王");
109         stud4.searchname("王");
110         System.out.print("查找生日为1999年01月08日的学生为:");
111         stud1.searchbirthday("1999年01月08日");
112         stud2.searchbirthday("1999年01月08日");
113         stud3.searchbirthday("1999年01月08日");
114         stud4.searchbirthday("1999年01月08日");
115         System.out.print("查找所在地区是陕西的学生为:");
116         stud1.searchplace("陕西");
117         stud2.searchplace("陕西");
118         stud3.searchplace("陕西");
119         stud4.searchplace("陕西");
120         stud1.separate();
121         stud2.separate();
122         stud3.separate();
123         stud4.separate();
124         int add1=0,add2=0,add3=0;
125         add1=stud1.sum1+stud2.sum1+stud3.sum1+stud4.sum1;
126         add2=stud1.sum2+stud2.sum2+stud3.sum2+stud4.sum2;
127         add3=stud1.sum3+stud2.sum3+stud3.sum3+stud4.sum3;
128         System.out.println("网络工程班总成绩是:"+add1);
129         System.out.println("物联网班总成绩是:"+add2);
130         System.out.println("计算机科学与技术班总成绩是:"+add3);
131     }
132     }

 

心得总结:

(1)在定义数据类型时一定不要加上static,不然后面的对象数据会覆盖之前的数据

(2)在统计成绩时,一定要先运行对象中的函数separate(),因为对象是无法自动执行函数

(3)最后是通过该实验,掌握了几个新的调用函数,如:indexOf(),这个函数作用是匹配字符串中的相同部分,equals(),这个函数作用是比较两个字符串是否相同,如果不同则返回-1,相同则返回0

 

posted @ 2019-05-06 18:50  风眷残云  阅读(970)  评论(0编辑  收藏  举报