用java面向对象的内容建立学生姓名,学号,id,班级,每一科的成绩,以及对管理员实现(对老师只实现查看):通过名字查询成绩,通过学号查询成绩,通过id修改姓名,通过姓名修改成绩
2017-08-09 08:33
1061 查看
这个问题如果用jsp和数据库的内容做那会非常简单,那么只用java面向对象来做呢?问题分析:本题首先需要建1.学生类2.班级类3.科目类4.对管理员和老师的接口(因为只有方法没有属性,用接口会简单一些)5.测试类
1.学生类,建立学生的名字,学号,id即可。然后构造学生方法,让每个班继承
public class Students {
public String
name;
public String
stunum;
public String
id;
public Subject[]
subject;
//构造学生的方法
public Students(String
name,String stuNum, String id){
this.name=name;
this.stunum=stuNum;
this.id=id;
}
}
2.班级类,继承学生类的属性并且设置班级属性为静态属性,不可改变
一班
public class FirstClassStudent
extends Students{
//班级设置为静态属性,不可改变
public
static final String CLASS_NUMBER="java01";
public FirstClassStudent(String
name, String stuNum, String
id) {
super(name,
stuNum, id);
}
}
二班
public class SecondClassStudent
extends Students{
public
static final String CLASS_NUMBER =
"java02";
public SecondClassStudent(String
name, String stuNum, String
id) {
super(name,
stuNum, id);
}
}
3.科目类 构建科目类方法,在测试类调用
public class Subject {
public String
subNum;
public String
subname;
public
int score;
public Subject(String
subNum,String subname,int
score){
this.subNum=subNum;
this.subname=subname;
this.score=score;
}
}
4.对管理员和老师的接口
(1)接口类 判断是不是学生操作【注:作者此处类名写的有问题,一般类名超过15字符当全部缩写,by等介词除外】
public interface IStudentOperator {
public void searchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiban);
public void sSBySNO(Scanner
scanner,FirstClassStudent[] yiBanSNO);
public void sSByAlter(Scanner
scanner,FirstClassStudent[] yiBanAlter);
public void sSByAlterName(Scanner
scanner,FirstClassStudent[] yiBanAlterName);
}
(2)管理员类 实现接口
public class Administrator
implements IStudentOperator{
@Override
public void s
4000
earchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiBan) {
System.out.println("管理员的查询过程");
System.out.print("请输入需要查询学生的姓名:");
String name =
scanner.next();
for(int
i=0;i<yiBan.length;i++){
if(yiBan[i].name.equals(name)){
Subject[]
sub = yiBan[i].subject;
System.out.println(name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSBySNO(Scanner
scanner, FirstClassStudent[] yiBanSNO) {
System.out.println("管理员的查询过程");
System.out.print("请输入需要查询学生的学号:");
String stunum =
scanner.next();
for(int
i=0;i<yiBanSNO.length;i++){
if(yiBanSNO[i].stunum.equals(stunum)){
Subject[]
sub = yiBanSNO[i].subject;
System.out.println(stunum+"的人是"+yiBanSNO[i].name);
System.out.println(yiBanSNO[i].name+"的成绩有:
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}else{
System.out.println("查无此人");
}
}
}
@Override
public void sSByAlter(Scanner
scanner, FirstClassStudent[] yiBanAlter) {
System.out.println("管理员通过id修改的过程");
System.out.print("请输入该学生的id:");
String id =
scanner.next();
for(int
i=0;i<yiBanAlter.length;i++){
if(yiBanAlter[i].id.equals(id)){
Subject[]
sub = yiBanAlter[i].subject;
System.out.println(id+"的人是"+yiBanAlter[i].name);
System.out.println("请输入修改后的名字");
String
alterName=scanner.next();
yiBanAlter[i].name=alterName;
System.out.println("名字修改为"+yiBanAlter[i].name);
System.out.println(yiBanAlter[i].name+"的成绩为");
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSByAlterName(Scanner
scanner, FirstClassStudent[] yiBanAlterName) {
System.out.println("管理员通过名字修改的成绩");
System.out.print("请输入该学生的名字:");
String name =
scanner.next();
for(int
i=0;i<yiBanAlterName.length;i++){
if(yiBanAlterName[i].name.equals(name)){
Subject[]
sub = yiBanAlterName[i].subject;
System.out.println(yiBanAlterName[i].name+"的成绩修改为");
int
alterScore=scanner.nextInt();
System.out.println(yiBanAlterName[i].name+"的成绩为");
for(int
j=0;j<sub.length;j++){
switch (sub[i].subname) {
case
"数学":
break;
default:
break;
}
sub[j].score=alterScore;
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
}
(3)老师类 同上
public class
Teacher implements IStudentOperator{
@Override
public void searchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiBan) {
System.out.println("老师的查询过程");
System.out.print("请输入需要查询学生的姓名:");
String name =
scanner.next();
for(int
i=0;i<yiBan.length;i++){
if(yiBan[i].name.equals(name)){
Subject[]
sub = yiBan[i].subject;
System.out.println(
1ab0d
name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSBySNO(Scanner
scanner, FirstClassStudent[] yiBanSNO) {
System.out.println("老师的查询过程");
System.out.print("请输入需要查询学生的学号:");
String stunum =
scanner.next();
for(int
i=0;i<yiBanSNO.length;i++){
if(yiBanSNO[i].stunum.equals(stunum)){
Subject[]
sub = yiBanSNO[i].subject;
System.out.println(stunum+"的人是"+yiBanSNO[i].name);
System.out.println(yiBanSNO[i].name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
}
5.测试类
public class Test {
public static
void main(String[] args) {
/*----------------------------------名字查询成绩------------------------------------*/
FirstClassStudent liuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent wangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent gouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent liuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
//创建一班的数组
FirstClassStudent[]
yiBan = {liuxiong,wangyu,gouwenbo,liuxiong1};
Subject liuxiongmath =
new Subject("01",
"数学", 59);
Subject liuxiongEnglish =
new Subject("02",
"英语", 1);
Subject liuxiongyuwen =
new Subject("03",
"语文", 59);
Subject liuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subs = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
liuxiong.subject =
subs;
Subject wangyumath =
new Subject("01",
"数学", 59);
Subject wangyuEnglish =
new Subject("02",
"英语", 1);
Subject wangyuyuwen =
new Subject("03",
"语文", 59);
Subject wangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub1 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
wangyu.subject =
sub1;
Subject gouwenbomath =
new Subject("01",
"数学", 59);
Subject gouwenboEnglish =
new Subject("02",
"英语", 1);
Subject gouwenboyuwen =
new Subject("03",
"语文", 59);
Subject gouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
gouwenbo.subject =
sub2;
Subject liuxiong1math =
new Subject("01",
"数学", 59);
Subject liuxiong1English =
new Subject("02",
"英语", 1);
Subject liuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject liuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub3 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
liuxiong1.subject =
sub3;
/*----------------------------------学号查询成绩------------------------------------*/
FirstClassStudent fifty =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent foutyEight =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent sixteen =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent nintynine =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanSNO = {fifty,foutyEight,sixteen,nintynine};
Subject fiftymath =
new Subject("01",
"数学", 59);
Subject fiftyEnglish =
new Subject("02",
"英语", 1);
Subject fiftyyuwen =
new Subject("03",
"语文", 59);
Subject fiftyjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO1 = {fiftyEnglish,fiftyjisuanji,fiftymath,fiftyyuwen};
fifty.subject =
SNO1;
Subject foutyEightmath =
new Subject("01",
"数学", 59);
Subject foutyEightEnglish =
new Subject("02",
"英语", 1);
Subject foutyEightyuwen =
new Subject("03",
"语文", 59);
Subject foutyEightjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO2 = {foutyEightEnglish,foutyEightjisuanji,foutyEightmath,foutyEightyuwen};
foutyEight.subject =
SNO2;
Subject sixteenmath =
new Subject("01",
"数学", 59);
Subject sixteenEnglish =
new Subject("02",
"英语", 1);
Subject sixteenyuwen =
new Subject("03",
"语文", 59);
Subject sixteenjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO3 = {sixteenEnglish,sixteenjisuanji,sixteenmath,sixteenyuwen};
sixteen.subject =
SNO3;
Subject nintyninemath =
new Subject("01",
"数学", 59);
Subject nintynineEnglish =
new Subject("02",
"英语", 1);
Subject nintynineyuwen =
new Subject("03",
"语文", 59);
Subject nintyninejisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO4 = {nintynineEnglish,nintyninejisuanji,nintyninemath,nintynineyuwen};
nintynine.subject =
SNO4;
/*----------------------------------通过id修改姓名------------------------------------*/
FirstClassStudent alter50 =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alter48 =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent alter16 =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alter99 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlter = {alter16,alter48,alter50,alter99};
Subject alter16math =
new Subject("01",
"数学", 59);
Subject alter16English =
new Subject("02",
"英语", 1);
Subject alter16yuwen =
new Subject("03",
"语文", 59);
Subject alter16jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter16.subject =
suba1;
Subject alter50math =
new Subject("01",
"数学", 59);
Subject alter50English =
new Subject("02",
"英语", 1);
Subject alter50yuwen =
new Subject("03",
"语文", 59);
Subject alter50jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba2 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter50.subject =
suba2;
Subject alter48math =
new Subject("01",
"数学", 59);
Subject alter48English =
new Subject("02",
"英语", 1);
Subject alter48yuwen =
new Subject("03",
"语文", 59);
Subject alter48jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba3 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter48.subject =
suba3;
Subject alter99math =
new Subject("01",
"数学", 59);
Subject alter99English =
new Subject("02",
"英语", 1);
Subject alter99yuwen =
new Subject("03",
"语文", 59);
Subject alter99jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba4 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter99.subject =
suba4;
/*----------------------------------通过姓名修改成绩------------------------------------*/
FirstClassStudent alterliuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alterwangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent altergouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alterliuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlterName = {altergouwenbo,alterliuxiong,alterliuxiong1,alterwangyu};
Subject alterliuxiongmath =
new Subject("01",
"数学", 59);
Subject alterliuxiongEnglish =
new Subject("02",
"英语", 1);
Subject alterliuxiongyuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alterliuxiong.subject =
subn1;
Subject altergouwenbomath =
new Subject("01",
"数学", 59);
Subject altergouwenboEnglish =
new Subject("02",
"英语", 1);
Subject altergouwenboyuwen =
new Subject("03",
"语文", 59);
Subject altergouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
altergouwenbo.subject =
subn2;
Subject alterwangyumath =
new Subject("01",
"数学", 59);
Subject alterwangyuEnglish =
new Subject("02",
"英语", 1);
Subject alterwangyuyuwen =
new Subject("03",
"语文", 59);
Subject alterwangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn3 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
alterwangyu.subject =
subn3;
Subject alterliuxiong1math =
new Subject("01",
"数学", 59);
Subject alterliuxiong1English =
new Subject("02",
"英语", 1);
Subject alterliuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn4 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
alterliuxiong1.subject =
subn4;
Scanner scanner =
new Scanner(System.in);
/*----------------------------------查看管理员是谁------------------------------------*/
IStudentOperator admin =
new Administrator();
IStudentOperator teacher =
new Teacher();
System.out.println("请输入角色");
System.out.println("0管理员\t1老师");
int
role = scanner.nextInt();
if(role==0){
admin =new Administrator();
}else
if(role==1){
teacher =
new Teacher();
}else{
System.out.println("无该角色");
return;
}
/*----------------------------------要执行的操作------------------------------------*/
System.out.print("请输入要执行的操作");
System.out.println("0:通过名字查询成绩\t1:通过学号查询成绩\t2:通过id修改姓名\t3:通过姓名修改成绩\t4:通过姓名删除成绩");
int
type = scanner.nextInt();
switch (type) {
case 0:
admin.searchScoreByStudentName(scanner,
yiBan);
break;
case 1:
admin.sSBySNO(scanner,
yiBanSNO);
break;
case 2:
admin.sSByAlter(scanner,
yiBanAlter);
break;
case 3:
break;
default:
System.out.println("抱歉!该功能正在制作中");
break;
}
}
}
public class Test {
public static
void main(String[] args) {
/*----------------------------------名字查询成绩------------------------------------*/
FirstClassStudent liuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent wangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent gouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent liuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
//创建一班的数组
FirstClassStudent[]
yiBan = {liuxiong,wangyu,gouwenbo,liuxiong1};
Subject liuxiongmath =
new Subject("01",
"数学", 59);
Subject liuxiongEnglish =
new Subject("02",
"英语", 1);
Subject liuxiongyuwen =
new Subject("03",
"语文", 59);
Subject liuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subs = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
liuxiong.subject =
subs;
Subject wangyumath =
new Subject("01",
"数学", 59);
Subject wangyuEnglish =
new Subject("02",
"英语", 1);
Subject wangyuyuwen =
new Subject("03",
"语文", 59);
Subject wangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub1 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
wangyu.subject =
sub1;
Subject gouwenbomath =
new Subject("01",
"数学", 59);
Subject gouwenboEnglish =
new Subject("02",
"英语", 1);
Subject gouwenboyuwen =
new Subject("03",
"语文", 59);
Subject gouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
gouwenbo.subject =
sub2;
Subject liuxiong1math =
new Subject("01",
"数学", 59);
Subject liuxiong1English =
new Subject("02",
"英语", 1);
Subject liuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject liuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub3 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
liuxiong1.subject =
sub3;
/*----------------------------------学号查询成绩------------------------------------*/
FirstClassStudent fifty =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent foutyEight =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent sixteen =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent nintynine =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanSNO = {fifty,foutyEight,sixteen,nintynine};
Subject fiftymath =
new Subject("01",
"数学", 59);
Subject fiftyEnglish =
new Subject("02",
"英语", 1);
Subject fiftyyuwen =
new Subject("03",
"语文", 59);
Subject fiftyjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO1 = {fiftyEnglish,fiftyjisuanji,fiftymath,fiftyyuwen};
fifty.subject =
SNO1;
Subject foutyEightmath =
new Subject("01",
"数学", 59);
Subject foutyEightEnglish =
new Subject("02",
"英语", 1);
Subject foutyEightyuwen =
new Subject("03",
"语文", 59);
Subject foutyEightjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO2 = {foutyEightEnglish,foutyEightjisuanji,foutyEightmath,foutyEightyuwen};
foutyEight.subject =
SNO2;
Subject sixteenmath =
new Subject("01",
"数学", 59);
Subject sixteenEnglish =
new Subject("02",
"英语", 1);
Subject sixteenyuwen =
new Subject("03",
"语文", 59);
Subject sixteenjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO3 = {sixteenEnglish,sixteenjisuanji,sixteenmath,sixteenyuwen};
sixteen.subject =
SNO3;
Subject nintyninemath =
new Subject("01",
"数学", 59);
Subject nintynineEnglish =
new Subject("02",
"英语", 1);
Subject nintynineyuwen =
new Subject("03",
"语文", 59);
Subject nintyninejisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO4 = {nintynineEnglish,nintyninejisuanji,nintyninemath,nintynineyuwen};
nintynine.subject =
SNO4;
/*----------------------------------通过id修改姓名------------------------------------*/
FirstClassStudent alter50 =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alter48 =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent alter16 =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alter99 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlter = {alter16,alter48,alter50,alter99};
Subject alter16math =
new Subject("01",
"数学", 59);
Subject alter16English =
new Subject("02",
"英语", 1);
Subject alter16yuwen =
new Subject("03",
"语文", 59);
Subject alter16jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter16.subject =
suba1;
Subject alter50math =
new Subject("01",
"数学", 59);
Subject alter50English =
new Subject("02",
"英语", 1);
Subject alter50yuwen =
new Subject("03",
"语文", 59);
Subject alter50jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba2 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter50.subject =
suba2;
Subject alter48math =
new Subject("01",
"数学", 59);
Subject alter48English =
new Subject("02",
"英语", 1);
Subject alter48yuwen =
new Subject("03",
"语文", 59);
Subject alter48jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba3 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter48.subject =
suba3;
Subject alter99math =
new Subject("01",
"数学", 59);
Subject alter99English =
new Subject("02",
"英语", 1);
Subject alter99yuwen =
new Subject("03",
"语文", 59);
Subject alter99jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba4 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter99.subject =
suba4;
/*----------------------------------通过姓名修改成绩------------------------------------*/
FirstClassStudent alterliuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alterwangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent altergouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alterliuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlterName = {altergouwenbo,alterliuxiong,alterliuxiong1,alterwangyu};
Subject alterliuxiongmath =
new Subject("01",
"数学", 59);
Subject alterliuxiongEnglish =
new Subject("02",
"英语", 1);
Subject alterliuxiongyuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alterliuxiong.subject =
subn1;
Subject altergouwenbomath =
new Subject("01",
"数学", 59);
Subject altergouwenboEnglish =
new Subject("02",
"英语", 1);
Subject altergouwenboyuwen =
new Subject("03",
"语文", 59);
Subject altergouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
altergouwenbo.subject =
subn2;
Subject alterwangyumath =
new Subject("01",
"数学", 59);
Subject alterwangyuEnglish =
new Subject("02",
"英语", 1);
Subject alterwangyuyuwen =
new Subject("03",
"语文", 59);
Subject alterwangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn3 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
alterwangyu.subject =
subn3;
Subject alterliuxiong1math =
new Subject("01",
"数学", 59);
Subject alterliuxiong1English =
new Subject("02",
"英语", 1);
Subject alterliuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn4 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
alterliuxiong1.subject =
subn4;
Scanner scanner =
new Scanner(System.in);
/*----------------------------------查看管理员是谁------------------------------------*/
IStudentOperator admin =
new Administrator();
IStudentOperator teacher =
new Teacher();
System.out.println("请输入角色");
System.out.println("0管理员\t1老师");
int
role = scanner.nextInt();
if(role==0){
admin =new Administrator();
}else
if(role==1){
teacher =
new Teacher();
}else{
System.out.println("无该角色");
return;
}
/*----------------------------------要执行的操作------------------------------------*/
System.out.print("请输入要执行的操作");
System.out.println("0:通过名字查询成绩\t1:通过学号查询成绩\t2:通过id修改姓名\t3:通过姓名修改成绩\t4:通过姓名删除成绩");
int
type = scanner.nextInt();
switch (type) {
case 0:
admin.searchScoreByStudentName(scanner,
yiBan);
break;
case 1:
admin.sSBySNO(scanner,
yiBanSNO);
break;
case 2:
admin.sSByAlter(scanner,
yiBanAlter);
break;
case 3:
break;
default:
System.out.println("抱歉!该功能正在制作中");
break;
}
}
解析:这种问题的难点在于如何建立唯一属性和其他属性的关系(数据库中的主码和非主码的关系)
1.学生类,建立学生的名字,学号,id即可。然后构造学生方法,让每个班继承
public class Students {
public String
name;
public String
stunum;
public String
id;
public Subject[]
subject;
//构造学生的方法
public Students(String
name,String stuNum, String id){
this.name=name;
this.stunum=stuNum;
this.id=id;
}
}
2.班级类,继承学生类的属性并且设置班级属性为静态属性,不可改变
一班
public class FirstClassStudent
extends Students{
//班级设置为静态属性,不可改变
public
static final String CLASS_NUMBER="java01";
public FirstClassStudent(String
name, String stuNum, String
id) {
super(name,
stuNum, id);
}
}
二班
public class SecondClassStudent
extends Students{
public
static final String CLASS_NUMBER =
"java02";
public SecondClassStudent(String
name, String stuNum, String
id) {
super(name,
stuNum, id);
}
}
3.科目类 构建科目类方法,在测试类调用
public class Subject {
public String
subNum;
public String
subname;
public
int score;
public Subject(String
subNum,String subname,int
score){
this.subNum=subNum;
this.subname=subname;
this.score=score;
}
}
4.对管理员和老师的接口
(1)接口类 判断是不是学生操作【注:作者此处类名写的有问题,一般类名超过15字符当全部缩写,by等介词除外】
public interface IStudentOperator {
public void searchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiban);
public void sSBySNO(Scanner
scanner,FirstClassStudent[] yiBanSNO);
public void sSByAlter(Scanner
scanner,FirstClassStudent[] yiBanAlter);
public void sSByAlterName(Scanner
scanner,FirstClassStudent[] yiBanAlterName);
}
(2)管理员类 实现接口
public class Administrator
implements IStudentOperator{
@Override
public void s
4000
earchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiBan) {
System.out.println("管理员的查询过程");
System.out.print("请输入需要查询学生的姓名:");
String name =
scanner.next();
for(int
i=0;i<yiBan.length;i++){
if(yiBan[i].name.equals(name)){
Subject[]
sub = yiBan[i].subject;
System.out.println(name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSBySNO(Scanner
scanner, FirstClassStudent[] yiBanSNO) {
System.out.println("管理员的查询过程");
System.out.print("请输入需要查询学生的学号:");
String stunum =
scanner.next();
for(int
i=0;i<yiBanSNO.length;i++){
if(yiBanSNO[i].stunum.equals(stunum)){
Subject[]
sub = yiBanSNO[i].subject;
System.out.println(stunum+"的人是"+yiBanSNO[i].name);
System.out.println(yiBanSNO[i].name+"的成绩有:
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}else{
System.out.println("查无此人");
}
}
}
@Override
public void sSByAlter(Scanner
scanner, FirstClassStudent[] yiBanAlter) {
System.out.println("管理员通过id修改的过程");
System.out.print("请输入该学生的id:");
String id =
scanner.next();
for(int
i=0;i<yiBanAlter.length;i++){
if(yiBanAlter[i].id.equals(id)){
Subject[]
sub = yiBanAlter[i].subject;
System.out.println(id+"的人是"+yiBanAlter[i].name);
System.out.println("请输入修改后的名字");
String
alterName=scanner.next();
yiBanAlter[i].name=alterName;
System.out.println("名字修改为"+yiBanAlter[i].name);
System.out.println(yiBanAlter[i].name+"的成绩为");
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSByAlterName(Scanner
scanner, FirstClassStudent[] yiBanAlterName) {
System.out.println("管理员通过名字修改的成绩");
System.out.print("请输入该学生的名字:");
String name =
scanner.next();
for(int
i=0;i<yiBanAlterName.length;i++){
if(yiBanAlterName[i].name.equals(name)){
Subject[]
sub = yiBanAlterName[i].subject;
System.out.println(yiBanAlterName[i].name+"的成绩修改为");
int
alterScore=scanner.nextInt();
System.out.println(yiBanAlterName[i].name+"的成绩为");
for(int
j=0;j<sub.length;j++){
switch (sub[i].subname) {
case
"数学":
break;
default:
break;
}
sub[j].score=alterScore;
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
}
(3)老师类 同上
public class
Teacher implements IStudentOperator{
@Override
public void searchScoreByStudentName(Scanner
scanner,FirstClassStudent[] yiBan) {
System.out.println("老师的查询过程");
System.out.print("请输入需要查询学生的姓名:");
String name =
scanner.next();
for(int
i=0;i<yiBan.length;i++){
if(yiBan[i].name.equals(name)){
Subject[]
sub = yiBan[i].subject;
System.out.println(
1ab0d
name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
@Override
public void sSBySNO(Scanner
scanner, FirstClassStudent[] yiBanSNO) {
System.out.println("老师的查询过程");
System.out.print("请输入需要查询学生的学号:");
String stunum =
scanner.next();
for(int
i=0;i<yiBanSNO.length;i++){
if(yiBanSNO[i].stunum.equals(stunum)){
Subject[]
sub = yiBanSNO[i].subject;
System.out.println(stunum+"的人是"+yiBanSNO[i].name);
System.out.println(yiBanSNO[i].name+"的成绩有:");
if(null ==
sub){
System.out.println("无选课成绩");
continue;
}
for(int
j=0;j<sub.length;j++){
System.out.print(sub[j].subname+"\t"+sub[j].score);
System.out.println();
}
}
}
}
}
5.测试类
public class Test {
public static
void main(String[] args) {
/*----------------------------------名字查询成绩------------------------------------*/
FirstClassStudent liuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent wangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent gouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent liuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
//创建一班的数组
FirstClassStudent[]
yiBan = {liuxiong,wangyu,gouwenbo,liuxiong1};
Subject liuxiongmath =
new Subject("01",
"数学", 59);
Subject liuxiongEnglish =
new Subject("02",
"英语", 1);
Subject liuxiongyuwen =
new Subject("03",
"语文", 59);
Subject liuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subs = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
liuxiong.subject =
subs;
Subject wangyumath =
new Subject("01",
"数学", 59);
Subject wangyuEnglish =
new Subject("02",
"英语", 1);
Subject wangyuyuwen =
new Subject("03",
"语文", 59);
Subject wangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub1 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
wangyu.subject =
sub1;
Subject gouwenbomath =
new Subject("01",
"数学", 59);
Subject gouwenboEnglish =
new Subject("02",
"英语", 1);
Subject gouwenboyuwen =
new Subject("03",
"语文", 59);
Subject gouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
gouwenbo.subject =
sub2;
Subject liuxiong1math =
new Subject("01",
"数学", 59);
Subject liuxiong1English =
new Subject("02",
"英语", 1);
Subject liuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject liuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub3 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
liuxiong1.subject =
sub3;
/*----------------------------------学号查询成绩------------------------------------*/
FirstClassStudent fifty =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent foutyEight =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent sixteen =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent nintynine =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanSNO = {fifty,foutyEight,sixteen,nintynine};
Subject fiftymath =
new Subject("01",
"数学", 59);
Subject fiftyEnglish =
new Subject("02",
"英语", 1);
Subject fiftyyuwen =
new Subject("03",
"语文", 59);
Subject fiftyjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO1 = {fiftyEnglish,fiftyjisuanji,fiftymath,fiftyyuwen};
fifty.subject =
SNO1;
Subject foutyEightmath =
new Subject("01",
"数学", 59);
Subject foutyEightEnglish =
new Subject("02",
"英语", 1);
Subject foutyEightyuwen =
new Subject("03",
"语文", 59);
Subject foutyEightjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO2 = {foutyEightEnglish,foutyEightjisuanji,foutyEightmath,foutyEightyuwen};
foutyEight.subject =
SNO2;
Subject sixteenmath =
new Subject("01",
"数学", 59);
Subject sixteenEnglish =
new Subject("02",
"英语", 1);
Subject sixteenyuwen =
new Subject("03",
"语文", 59);
Subject sixteenjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO3 = {sixteenEnglish,sixteenjisuanji,sixteenmath,sixteenyuwen};
sixteen.subject =
SNO3;
Subject nintyninemath =
new Subject("01",
"数学", 59);
Subject nintynineEnglish =
new Subject("02",
"英语", 1);
Subject nintynineyuwen =
new Subject("03",
"语文", 59);
Subject nintyninejisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO4 = {nintynineEnglish,nintyninejisuanji,nintyninemath,nintynineyuwen};
nintynine.subject =
SNO4;
/*----------------------------------通过id修改姓名------------------------------------*/
FirstClassStudent alter50 =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alter48 =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent alter16 =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alter99 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlter = {alter16,alter48,alter50,alter99};
Subject alter16math =
new Subject("01",
"数学", 59);
Subject alter16English =
new Subject("02",
"英语", 1);
Subject alter16yuwen =
new Subject("03",
"语文", 59);
Subject alter16jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter16.subject =
suba1;
Subject alter50math =
new Subject("01",
"数学", 59);
Subject alter50English =
new Subject("02",
"英语", 1);
Subject alter50yuwen =
new Subject("03",
"语文", 59);
Subject alter50jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba2 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter50.subject =
suba2;
Subject alter48math =
new Subject("01",
"数学", 59);
Subject alter48English =
new Subject("02",
"英语", 1);
Subject alter48yuwen =
new Subject("03",
"语文", 59);
Subject alter48jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba3 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter48.subject =
suba3;
Subject alter99math =
new Subject("01",
"数学", 59);
Subject alter99English =
new Subject("02",
"英语", 1);
Subject alter99yuwen =
new Subject("03",
"语文", 59);
Subject alter99jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba4 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter99.subject =
suba4;
/*----------------------------------通过姓名修改成绩------------------------------------*/
FirstClassStudent alterliuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alterwangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent altergouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alterliuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlterName = {altergouwenbo,alterliuxiong,alterliuxiong1,alterwangyu};
Subject alterliuxiongmath =
new Subject("01",
"数学", 59);
Subject alterliuxiongEnglish =
new Subject("02",
"英语", 1);
Subject alterliuxiongyuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alterliuxiong.subject =
subn1;
Subject altergouwenbomath =
new Subject("01",
"数学", 59);
Subject altergouwenboEnglish =
new Subject("02",
"英语", 1);
Subject altergouwenboyuwen =
new Subject("03",
"语文", 59);
Subject altergouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
altergouwenbo.subject =
subn2;
Subject alterwangyumath =
new Subject("01",
"数学", 59);
Subject alterwangyuEnglish =
new Subject("02",
"英语", 1);
Subject alterwangyuyuwen =
new Subject("03",
"语文", 59);
Subject alterwangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn3 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
alterwangyu.subject =
subn3;
Subject alterliuxiong1math =
new Subject("01",
"数学", 59);
Subject alterliuxiong1English =
new Subject("02",
"英语", 1);
Subject alterliuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn4 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
alterliuxiong1.subject =
subn4;
Scanner scanner =
new Scanner(System.in);
/*----------------------------------查看管理员是谁------------------------------------*/
IStudentOperator admin =
new Administrator();
IStudentOperator teacher =
new Teacher();
System.out.println("请输入角色");
System.out.println("0管理员\t1老师");
int
role = scanner.nextInt();
if(role==0){
admin =new Administrator();
}else
if(role==1){
teacher =
new Teacher();
}else{
System.out.println("无该角色");
return;
}
/*----------------------------------要执行的操作------------------------------------*/
System.out.print("请输入要执行的操作");
System.out.println("0:通过名字查询成绩\t1:通过学号查询成绩\t2:通过id修改姓名\t3:通过姓名修改成绩\t4:通过姓名删除成绩");
int
type = scanner.nextInt();
switch (type) {
case 0:
admin.searchScoreByStudentName(scanner,
yiBan);
break;
case 1:
admin.sSBySNO(scanner,
yiBanSNO);
break;
case 2:
admin.sSByAlter(scanner,
yiBanAlter);
break;
case 3:
break;
default:
System.out.println("抱歉!该功能正在制作中");
break;
}
}
}
public class Test {
public static
void main(String[] args) {
/*----------------------------------名字查询成绩------------------------------------*/
FirstClassStudent liuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent wangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent gouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent liuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
//创建一班的数组
FirstClassStudent[]
yiBan = {liuxiong,wangyu,gouwenbo,liuxiong1};
Subject liuxiongmath =
new Subject("01",
"数学", 59);
Subject liuxiongEnglish =
new Subject("02",
"英语", 1);
Subject liuxiongyuwen =
new Subject("03",
"语文", 59);
Subject liuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subs = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
liuxiong.subject =
subs;
Subject wangyumath =
new Subject("01",
"数学", 59);
Subject wangyuEnglish =
new Subject("02",
"英语", 1);
Subject wangyuyuwen =
new Subject("03",
"语文", 59);
Subject wangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub1 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
wangyu.subject =
sub1;
Subject gouwenbomath =
new Subject("01",
"数学", 59);
Subject gouwenboEnglish =
new Subject("02",
"英语", 1);
Subject gouwenboyuwen =
new Subject("03",
"语文", 59);
Subject gouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
gouwenbo.subject =
sub2;
Subject liuxiong1math =
new Subject("01",
"数学", 59);
Subject liuxiong1English =
new Subject("02",
"英语", 1);
Subject liuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject liuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] sub3 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
liuxiong1.subject =
sub3;
/*----------------------------------学号查询成绩------------------------------------*/
FirstClassStudent fifty =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent foutyEight =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent sixteen =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent nintynine =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanSNO = {fifty,foutyEight,sixteen,nintynine};
Subject fiftymath =
new Subject("01",
"数学", 59);
Subject fiftyEnglish =
new Subject("02",
"英语", 1);
Subject fiftyyuwen =
new Subject("03",
"语文", 59);
Subject fiftyjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO1 = {fiftyEnglish,fiftyjisuanji,fiftymath,fiftyyuwen};
fifty.subject =
SNO1;
Subject foutyEightmath =
new Subject("01",
"数学", 59);
Subject foutyEightEnglish =
new Subject("02",
"英语", 1);
Subject foutyEightyuwen =
new Subject("03",
"语文", 59);
Subject foutyEightjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO2 = {foutyEightEnglish,foutyEightjisuanji,foutyEightmath,foutyEightyuwen};
foutyEight.subject =
SNO2;
Subject sixteenmath =
new Subject("01",
"数学", 59);
Subject sixteenEnglish =
new Subject("02",
"英语", 1);
Subject sixteenyuwen =
new Subject("03",
"语文", 59);
Subject sixteenjisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO3 = {sixteenEnglish,sixteenjisuanji,sixteenmath,sixteenyuwen};
sixteen.subject =
SNO3;
Subject nintyninemath =
new Subject("01",
"数学", 59);
Subject nintynineEnglish =
new Subject("02",
"英语", 1);
Subject nintynineyuwen =
new Subject("03",
"语文", 59);
Subject nintyninejisuanji =
new Subject("04",
"计算机", 59);
Subject[] SNO4 = {nintynineEnglish,nintyninejisuanji,nintyninemath,nintynineyuwen};
nintynine.subject =
SNO4;
/*----------------------------------通过id修改姓名------------------------------------*/
FirstClassStudent alter50 =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alter48 =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent alter16 =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alter99 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlter = {alter16,alter48,alter50,alter99};
Subject alter16math =
new Subject("01",
"数学", 59);
Subject alter16English =
new Subject("02",
"英语", 1);
Subject alter16yuwen =
new Subject("03",
"语文", 59);
Subject alter16jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter16.subject =
suba1;
Subject alter50math =
new Subject("01",
"数学", 59);
Subject alter50English =
new Subject("02",
"英语", 1);
Subject alter50yuwen =
new Subject("03",
"语文", 59);
Subject alter50jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba2 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter50.subject =
suba2;
Subject alter48math =
new Subject("01",
"数学", 59);
Subject alter48English =
new Subject("02",
"英语", 1);
Subject alter48yuwen =
new Subject("03",
"语文", 59);
Subject alter48jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba3 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter48.subject =
suba3;
Subject alter99math =
new Subject("01",
"数学", 59);
Subject alter99English =
new Subject("02",
"英语", 1);
Subject alter99yuwen =
new Subject("03",
"语文", 59);
Subject alter99jisuanji =
new Subject("04",
"计算机", 59);
Subject[] suba4 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alter99.subject =
suba4;
/*----------------------------------通过姓名修改成绩------------------------------------*/
FirstClassStudent alterliuxiong =
new FirstClassStudent("刘雄",
"50", "50000");
FirstClassStudent alterwangyu =
new FirstClassStudent("王宇",
"48", "48000");
FirstClassStudent altergouwenbo =
new FirstClassStudent("苟文博",
"16", "16000");
FirstClassStudent alterliuxiong1 =
new FirstClassStudent("刘雄",
"99", "99000");
FirstClassStudent[]
yiBanAlterName = {altergouwenbo,alterliuxiong,alterliuxiong1,alterwangyu};
Subject alterliuxiongmath =
new Subject("01",
"数学", 59);
Subject alterliuxiongEnglish =
new Subject("02",
"英语", 1);
Subject alterliuxiongyuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiongjisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn1 = {liuxiongEnglish,liuxiongjisuanji,liuxiongmath,liuxiongyuwen};
alterliuxiong.subject =
subn1;
Subject altergouwenbomath =
new Subject("01",
"数学", 59);
Subject altergouwenboEnglish =
new Subject("02",
"英语", 1);
Subject altergouwenboyuwen =
new Subject("03",
"语文", 59);
Subject altergouwenbojisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn2 = {gouwenboEnglish,gouwenbojisuanji,gouwenbomath,gouwenboyuwen};
altergouwenbo.subject =
subn2;
Subject alterwangyumath =
new Subject("01",
"数学", 59);
Subject alterwangyuEnglish =
new Subject("02",
"英语", 1);
Subject alterwangyuyuwen =
new Subject("03",
"语文", 59);
Subject alterwangyujisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn3 = {wangyuEnglish,wangyujisuanji,wangyumath,wangyuyuwen};
alterwangyu.subject =
subn3;
Subject alterliuxiong1math =
new Subject("01",
"数学", 59);
Subject alterliuxiong1English =
new Subject("02",
"英语", 1);
Subject alterliuxiong1yuwen =
new Subject("03",
"语文", 59);
Subject alterliuxiong1jisuanji =
new Subject("04",
"计算机", 59);
Subject[] subn4 = {liuxiong1English,liuxiong1jisuanji,liuxiong1math,liuxiong1yuwen};
alterliuxiong1.subject =
subn4;
Scanner scanner =
new Scanner(System.in);
/*----------------------------------查看管理员是谁------------------------------------*/
IStudentOperator admin =
new Administrator();
IStudentOperator teacher =
new Teacher();
System.out.println("请输入角色");
System.out.println("0管理员\t1老师");
int
role = scanner.nextInt();
if(role==0){
admin =new Administrator();
}else
if(role==1){
teacher =
new Teacher();
}else{
System.out.println("无该角色");
return;
}
/*----------------------------------要执行的操作------------------------------------*/
System.out.print("请输入要执行的操作");
System.out.println("0:通过名字查询成绩\t1:通过学号查询成绩\t2:通过id修改姓名\t3:通过姓名修改成绩\t4:通过姓名删除成绩");
int
type = scanner.nextInt();
switch (type) {
case 0:
admin.searchScoreByStudentName(scanner,
yiBan);
break;
case 1:
admin.sSBySNO(scanner,
yiBanSNO);
break;
case 2:
admin.sSByAlter(scanner,
yiBanAlter);
break;
case 3:
break;
default:
System.out.println("抱歉!该功能正在制作中");
break;
}
}
解析:这种问题的难点在于如何建立唯一属性和其他属性的关系(数据库中的主码和非主码的关系)
相关文章推荐
- 建立一个学生结构数组来记录学生信息(学号ID,姓名和C语言成绩),要求动态建立一个结构数组,数组长度从键盘输入,自行给数组元素赋值并打印学生信息,最后不要忘记释放内存。 结构st
- MVC3学习第九章 葵花点穴手之势如闪电----MVC3下实现用户信息的查询以及通过实体模型建立商品和类别的主外键关系
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
- 笔试题:创建一个单链表,结点包含学生的学号,姓名,性别,年龄信息.写几个程序,实现按学生学号插入,查询,删除等操作.
- Student类,包括学生姓名、性别、年龄、Java成绩。要求创建五个该类对象,输出每个学生信息,计算并输出这五个学生Java成绩的平均值, 以及计算并输出他们Ja
- 设计一个学生类,其中包含学号、姓名、成绩等数据成员,创建学生对象并且倒入到文件file.txt,然后由文件读取到另一个学生对象并输出,试编程实现。
- 【C++】建立一个学生信息链表,每个结点包括:学号、姓名、成绩。【原创技术】
- #练习#输入学生姓名与成绩,求班级平均分以及最低分学生成绩的姓名,最高成绩及姓名。
- 编写程序:建立一个学生数据链表,每个节点的信息包括如下内容:学号,姓名,性别年龄专业。对链表做如下处理。输入一个学号(专业),如果链表中的节点包含此学号(专业),则删去该结点。
- 结构体指针数组完成输入学生姓名学号数学语文成绩修改排序显示等功能
- 创建一个学生类(Student),包括学号成绩,编程输入和显示学生的信息。建立一个人类(Person),包含姓名、性别和年龄,并作为学生类的基类
- js实现往表格动态添加学生的学号、姓名、语数英的考试成绩和总分(总分不是填写),实现行与行之的颜色相间,高光的效果
- Ajax 通过id 获取名字 以及 所属班级
- 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据
- 数学老师小y想写一个成绩查询系统,包含如下指令:1.insert [name] [score],向系统中插入一条信息,表示名字为name的学生的数学成绩为score.2.find [name],表示查
- 【C语言】建立一个数组存储学生的学号、姓名和三门课程成绩和平均成绩【原创技术】
- 建立抽象类Student,添加属性学号,姓名,平均分,添加方法show()显示学生的个人信息(学号,姓名),添加抽象方法average()计算学生的平均成绩。建立Student的子类studentIT
- 定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教师类增加工号、职称和工资,学生类增加学号、班级、专业和入学成绩。
- 从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
- 创建一个学生类(Student),包括学号和成绩,编程输入和显示学生的信息,建立一个人类(Person),包含姓名、性别和年龄,并作为学生类的基类