package wangzhuyling; import java.util.Scanner; public class Student { public int i=0,id=1,nj,x; public static int count=1,count1=1; public static double wl,wlw,yw,sx,yy,yw1,sx1,yy1; public String xing,name,zy,address; public double date,avg,chinese,math,english; static Scanner shuru=new Scanner(System.in); public Student(String xing,String name,String zy,int nj,int id,String address,double date,double chinese,double math,double english) { this.xing=xing; this.name=name; this.zy=zy; this.nj=nj; this.x=this.nj*100; this.id=id; if(this.zy.equals("网络工程")){ this.id=this.x+count; } if(this.zy.equals("物联网工程")) this.id=this.x+count1; this.address=address; this.date=date; this.chinese=chinese; this.math=math; this.english=english; } public void name_chazhao(String temp) { if(this.xing.equals(temp)) { System.out.println(name+" "+zy+" "+nj+" "+id+" "+address+" "+date+" "+" "+chinese+" "+math+" "+english); } } public void date_chazhao(double temp) { for(i=0;i<3;i++) if(this.date==temp) { System.out.println(name+" "+zy+" "+nj+" "+id+" "+address+" "+date+" "+chinese+" "+math+" "+english); break; } } public void address_chazhao(String temp) { if(address.equals(temp)) { System.out.println(name+" "+zy+" "+nj+" "+" "+id+" "+address+" "+date+" "+chinese+" "+math+" "+english); } } public void tongjichengji() { if(this.zy.equals("网络工程")) { this.yw=this.yw+chinese; this.sx=this.sx+math; this.yy=this.yy+english; } if(this.zy.equals("物联网工程")) { this.yw1=this.yw1+chinese; this.sx1=this.sx1+math; this.yy1=this.yy1+english; } } public static void main(String[] args) { Student[] stu=new Student[3]; stu[0]=new Student("张","张三","网络工程",2017,0,"海南万宁",1998,100,90,80); stu[1]=new Student("李","李四","网络工程",2016,0,"广西南宁",1997,100,95,90); stu[2]=new Student("马","马五六四","网络工程",2015,0,"青海西宁",1999,100,98,96); String temp; double year; Scanner shuru=new Scanner(System.in); int j=1; while(j!=0) { System.out.println("1 姓查找 2 出生年查找 3 地址查找 0 退出"); j=shuru.nextInt(); switch(j) { case 1: System.out.println("请输入查找的姓:"); temp=shuru.next(); for(int i=0;i<3;i++) { stu[i].name_chazhao(temp); };break; case 2:System.out.println("请输入查找的年份:"); year=shuru.nextDouble(); for(int i=0;i<3;i++) { stu[i].date_chazhao(year); };break; case 3:System.out.println("请输入查找的地址:"); temp=shuru.next(); for(int i=0;i<3;i++) { stu[i].address_chazhao(temp); };break; } } System.out.println("查询专业的统计成绩:"); temp=shuru.next(); for(int i=0;i<3;i++) { if(stu[i].zy.equals("网络工程")) stu[i].tongjichengji(); if(stu[i].zy.equals("物联网工程")) stu[i].tongjichengji(); } if(temp.equals("网络工程")) System.out.println("语文总分为:"+yw+"数学总分为:"+sx+"英语总分为"+yy); if(temp.equals("物联网工程")) System.out.println("语文总分为:"+yw1+"数学总分为:"+sx1+"英语总分为"+yy1); } }
实验结果为: 1 姓查找 2 出生年查找 3 地址查找 0 退出 1 请输入查找的姓: 张 张三 网络工程 2017 201701 海南万宁 1998.0 100.0 90.0 80.0 1 姓查找 2 出生年查找 3 地址查找 0 退出 2 请输入查找的年份: 1997 李四 网络工程 2016 201601 广西南宁 1997.0 100.0 95.0 90.0 1 姓查找 2 出生年查找 3 地址查找 0 退出 3 请输入查找的地址: 青海西宁 马五六四 网络工程 2015 201501 青海西宁 1999.0 100.0 98.0 96.0 1 姓查找 2 出生年查找 3 地址查找 0 退出 0 查询专业的统计成绩: 网络工程 语文总分为:300.0数学总分为:283.0英语总分为266.0
心得体会:
1.在定义数据类型时一定不要加上static,不然后面的对象数据会覆盖之前的数据
2.在统计成绩时,一定要先运行对象中的函数separate(),因为对象是无法自动执行函数
3.Java中的成员分为两种,实例成员和静态成员
4.Static不能修饰方法的局部变量
5.子类继承父类除构造方法以外的成员方法,包括实例成员方法和静态成员方法,包括析构方法
原文:https://www.cnblogs.com/zyl9/p/10822181.html