实验七:类的多态性

实验七:类的多态性

package HomeWork;

import java.util.Scanner;

import static java.lang.System.exit;

public class HomeWork {
static Object[] objects=new Object[100];
static int count=0;
private static Scanner input=new Scanner(System.in);
static String zhuangye1="物联网工程";
static String zhuangye2="网络工程";
public static void main(String[] args) {
int flag=6;
while(true) {
System.out.println("你具有如下的功能选择:");
System.out.println("1:添加学生信息");
System.out.println("2:删除学生基本信息");
System.out.println("3:查找学生基本信息");
System.out.println("4:录入学生的基本成绩");
System.out.println("5:退出 EXIT--->");
flag=input.nextInt();
boolean flag1=false;
switch (flag){
case 1: flag1=Add() ;if(flag1){
System.out.println("添加成功");
}break;
case 2: Delect();break;
case 3: FindStudents();break;
case 5: System.out.println("—————退出学生管理系统——————");exit(0);
case 4: ;AddScore();break;
//case 6: ;break;
default:exit(0);
}
}
}

private static boolean Add(){
boolean flag=false;
System.out.println("请选择对应的专业A 物联网工程,B 网络工程");
String s;
s=input.next();
char p=s.charAt(0);
String name;String gender;String province;String city;String zhuangye;
if(p=='A'){
System.out.println("请输入你的名字");
name=input.next();
System.out.println("请输入你的性别");
gender=input.next();
System.out.println("请输入你的省份");
province=input.next();
System.out.println("请输入你的城市");
city=input.next();
zhuangye=zhuangye1;
Students students=new Students(name,gender,province,city,zhuangye);
objects[count]=students;//多态的体现
count++;
flag=true;
}
else if(p=='B') {
System.out.println("请输入你的名字");
name=input.next();
System.out.println("请输入你的性别");
gender=input.next();
System.out.println("请输入你的省份");
province=input.next();
System.out.println("请输入你的城市");
city=input.next();
zhuangye=zhuangye2;
Students students=new Students(name,gender,province,city,zhuangye);
objects[count]=students;
count++;
flag=true; 
}
else {
flag=false;
}

return flag;

}

private static boolean Delect(){
boolean flag=false;

return flag;
}

private static boolean AddScore(){
boolean flag=false;
System.out.println("请选择你的的专业A 物联网工程,B 网络工程");
String s;
s=input.next();
char p=s.charAt(0);
String name;
int socre;
String zhuangye;
if(p=='A'){
System.out.println("请输入你的名字");
name=input.next();
System.out.println("请输入你的分数");
socre=input.nextInt();
zhuangye=zhuangye1;
Students students=new Students(name,socre);
objects[count]=students;//多态的体现
count++;
flag=true;
}
else if(p=='B') {
System.out.println("请输入你的名字");
name=input.next();
System.out.println("请输入你的分数");
socre=input.nextInt();
zhuangye=zhuangye2;
Students students=new Students(name,socre);
objects[count]=students;
count++;
int flag1 = 0;
if(flag1==1){
System.out.println("成绩录入成功");
}
else {
System.out.println("成绩录入失败");
}
}
return flag;
}

private static Students FindStudents(){
Students students=null;
return students;
}

}

class Students{
String name,zhuangye;
int number;
double Score=0;
String gender,province,city;
private static int number1=00001;//专业1 学号统计
private static int number2=00001;//专业 2
public Students(String name,String gender,String province,String city,String zhuangye){
this.city=city;
this.gender=gender;
this.name=name;
this.province=province;
this.zhuangye=zhuangye;
number=setNumber(zhuangye);
}

public Students(String name2, int socre) {
// TODO Auto-generated constructor stub
}

private static int setNumber(String zhuangye){
int number=0;
if(zhuangye.equals("物联网工程")){
number=number1;
number1++;
}
else {
number=number2;
number2++;
}
return number;
}

public void setScore(double score){
this.Score=score;
}

}

实验结果

你具有如下的功能选择:

1:添加学生信息

2:删除学生基本信息

3:查找学生基本信息

4:录入学生的基本成绩

5:退出EXIT——>

1

请选择对应的专业A 物联网工程,B网络工程

B

请输入你的名字

马万虎

请输入的你性别

请输入你的省份

青海省

请输入你的城市

格尔木

添加成功

实验心得

  1. 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果
  2. 在类里面要用this指针初始化

 

 

posted @ 2019-05-06 21:59  森.屿  阅读(114)  评论(0编辑  收藏  举报