键盘录入名字和年龄,查找对应的院系。
A 光电学院(光子,电子,光学分析)
B 计算机学院(数据结构,C语言,操作系统)
C 理学院(高等数学,线性代数,概率论)
D 管理学院(会计,管理学,经济学)
光电学院
package com.pp;
public class Dstudent extends Student {
private String Cname="光电学院";
String [] zn={"光子","电子","光学分析"};
public String getCname() {
return Cname;
}
public void setCname(String cname) {
Cname = cname;
}
}
管理学院
package com.pp;
public class Gstudent extends Student {
private String Cname="管理学院";
String [] zn={"会计","管理学","经济学"};
public String getCname() {
return Cname;
}
public void setCname(String cname) {
Cname = cname;
}
}
计算机学院
package com.pp;
public class Jstudent extends Student {
private String Cname="计算机学院";
String [] zn={"C语言","数据结构","操作系统"};
public String getCname() {
return Cname;
}
public void setCname(String cname) {
Cname = cname;
}
}
理学院
package com.pp;
public class Lstudent extends Student {
private String Cname="理学院";
String [] zn={"高等数学","线性代数","概率论"};
public String getCname() {
return Cname;
}
public void setCname(String cname) {
Cname = cname;
}
}
录入数据
package com.pp;
public class Inputstudent {
private String name;
private int age;
private String Zname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getZname() {
return Zname;
}
public void setZname(String zname) {
Zname = zname;
}
}
学生类
package com.pp;
public class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student compare(Inputstudent inputstudent){
String Zname = inputstudent.getZname();
Jstudent jstudent = new Jstudent();
Gstudent gstudent = new Gstudent();
Lstudent lstudent = new Lstudent();
Dstudent dstudent = new Dstudent();
for(int i=0;i<jstudent.zn.length;i++){
if(Zname.equals(jstudent.zn[i])){
return new Jstudent();
}
}
for(int i=0;i<dstudent.zn.length;i++){
if(Zname.equals(dstudent.zn[i])){
return new Dstudent();
}
}
for(int i=0;i<lstudent.zn.length;i++){
if(Zname.equals(lstudent.zn[i])){
return new Lstudent();
}
}for(int i=0;i<gstudent.zn.length;i++){
if(Zname.equals(gstudent.zn[i])){
return new Gstudent();
}
}
return null;
}
}
学生工具类
package com.pp;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentUtil {
private static ArrayList<Inputstudent>Data;
public static void Scanf(){
Data=new ArrayList<>();
for(int i=0;i<3;i++){
Scanner scanner = new Scanner(System.in);
Inputstudent inputstudent = new Inputstudent();
System.out.println("请输入姓名");
String sname = scanner.next();
System.out.println("请输入年龄");
int age = scanner.nextInt();
System.out.println("请输入专业课名称");
String Zname = scanner.next();
inputstudent.setAge(age);
inputstudent.setName(sname);
inputstudent.setZname(Zname);
Data.add(inputstudent);
System.out.println(Data.size());
}
}
public static void RetCname(){
for(int i=0;i<Data.size();i++){
Inputstudent inputstudent=Data.get(i);
Student student = new Student();
Student compare=student.compare(inputstudent);
if(compare instanceof Jstudent){
Jstudent jstudent=(Jstudent)compare;
System.out.println(jstudent.getCname());
}else if(compare instanceof Dstudent){
Dstudent dstudent=(Dstudent)compare;
System.out.println(dstudent.getCname());
}else if(compare instanceof Gstudent){
Gstudent gstudent=(Gstudent)compare;
System.out.println(gstudent.getCname());
}else if(compare instanceof Lstudent){
Lstudent lstudent=(Lstudent)compare;
System.out.println(lstudent.getCname());
}
}
}
}
测试类
package com.pp;
public class Test {
public static void main(String[] args) {
StudentUtil.Scanf();
StudentUtil.RetCname();
}
}
运行结果
请输入姓名
张三
请输入年龄
11
请输入专业课名称
数据结构
1
请输入姓名
李四
请输入年龄
22
请输入专业课名称
会计
2
请输入姓名
王五
请输入年龄
33
请输入专业课名称
光子
3
计算机学院
管理学院
光电学院
Process finished with exit code 0
网友评论