JAVA课程设计,学生成绩管理
要求:1) 输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)
2) 计算出平均成绩。以平均成绩降序输出成绩表。
3) 输出全组各科平均分,最高分和最低分。
4) 输入姓名查询成绩
界面要示:用字符界面实现、也可用图形界面实现。
谢谢各位高手来帮忙解答.....
----------------解决方案--------------------------------------------------------
下载Netbeans,自己做...
----------------解决方案--------------------------------------------------------
楼上的精辟!!!
----------------解决方案--------------------------------------------------------
楼主好像是想模仿数据库的操作,不过10个学生 4科测试太麻烦,就只写了2科,3个学生,方法是一样的
程序代码:
package xjgl;
import java.util.Scanner;
public class XJGL
{
private String[] name=new String[3];
private int[][] sc=new int[3][4];
public void getStudent()
{
System.out.println("=================================================");
System.out.println("输入学生信息");
int Math,English;
System.out.println("请一次输入3个学生信息");
System.out.println("姓名,数学,英语");
for (int i=0;i<3;i++)
{
System.out.println("请输入下一个学生信息,还剩余:"+(2-i));
Scanner input=new Scanner(System.in);
System.out.print("姓名");
name[i]=input.next();
System.out.print("数学");
Math=input.nextInt();
System.out.print("英语");
English=input.nextInt();
sc[i][0]=i;
sc[i][1]=Math;
sc[i][2]=English;
}
}
public void printStudent()
{
System.out.println("=================================================");
System.out.println("输出学生信息");
int[] ts={0,1,2};
for(int i=0;i<3;i++)
{
for(int j=0;j<2-i;j++)
{
if(sc[ts[j]][3]<sc[ts[j+1]][3])
{
int c=ts[j];
ts[j]=ts[j+1];
ts[j+1]=c;
}
}
}
System.out.println("===========================================");
System.out.println("学生名单(降序排序)");
System.out.println("姓名 数学 英语 平均");
for(int i=0;i<3;i++)
{
System.out.print(name[ts[i]]+" ");
System.out.print(sc[ts[i]][1]+" "+sc[ts[i]][2]+" "+sc[ts[i]][3]);
System.out.println();
}
}
public void getAvg()
{
for(int i=0;i<3;i++)
{
sc[i][3]=(sc[i][1]+sc[i][2])/2;
}
}
public void getClassAvg()
{
System.out.println("=================================================");
System.out.println("输出学科成绩信息");
int[] math=new int[3];
int[] English=new int[3];
int avgMath=0,avgEnglish=0;
for(int i=0;i<3;i++)
{
math[i]=sc[i][1];
English[i]=sc[i][2];
avgMath=avgMath+math[i];
avgEnglish=avgEnglish+English[i];
}
System.out.println("数学平均成绩是:"+avgMath/3);
System.out.println("英语平均成绩是:"+avgEnglish/3);
int maxMath=math[0];
int minMath=math[0];
int maxEnglish=English[0];
int minEnglish=English[0];
for(int i=1;i<3;i++)
{
if(math[i]>maxMath)
{
maxMath=math[i];
}
if(math[i]<minMath)
{
minMath=math[i];
}
if(English[i]>maxEnglish)
{
maxEnglish=English[i];
}
if(English[i]<minEnglish)
{
minEnglish=English[i];
}
}
System.out.println("数学最高成绩是:"+maxMath+"数学最低成绩是"+minMath+"英语最高成绩是"+maxEnglish+"英语最低成绩是"+minEnglish);
}
public void searchAsName()
{
System.out.println("=================================================");
System.out.println("查找学生信息");
Scanner input=new Scanner(System.in);
System.out.print("请输入你要查询的学生的姓名:");
String inputName=input.next();
int index=9;
for(int i=0;i<3;i++)
{
if(inputName.equals(name[i]))
{
index=i;
}
}
if(index==9)
{
System.out.println("搜索没有匹配");
return;
}
else
{
System.out.println("搜索的姓名为:"+inputName+"搜索结果是:");
System.out.println("数学 英语 平均");
for(int i=1;i<4;i++)
{
System.out.print(sc[index][i]+" ");
}
}
}
public static void main(String args[])
{
System.out.println("***********************************************************");
System.out.println("学生信息检索 wangking1029 QQ:799397501");
System.out.println("***********************************************************");
XJGL student=new XJGL();
student.getStudent();
student.getAvg();
student.printStudent();
student.getClassAvg();
student.searchAsName();
}
}
不过还有好多要改进的地方 只是大概写了写 能测试通过 import java.util.Scanner;
public class XJGL
{
private String[] name=new String[3];
private int[][] sc=new int[3][4];
public void getStudent()
{
System.out.println("=================================================");
System.out.println("输入学生信息");
int Math,English;
System.out.println("请一次输入3个学生信息");
System.out.println("姓名,数学,英语");
for (int i=0;i<3;i++)
{
System.out.println("请输入下一个学生信息,还剩余:"+(2-i));
Scanner input=new Scanner(System.in);
System.out.print("姓名");
name[i]=input.next();
System.out.print("数学");
Math=input.nextInt();
System.out.print("英语");
English=input.nextInt();
sc[i][0]=i;
sc[i][1]=Math;
sc[i][2]=English;
}
}
public void printStudent()
{
System.out.println("=================================================");
System.out.println("输出学生信息");
int[] ts={0,1,2};
for(int i=0;i<3;i++)
{
for(int j=0;j<2-i;j++)
{
if(sc[ts[j]][3]<sc[ts[j+1]][3])
{
int c=ts[j];
ts[j]=ts[j+1];
ts[j+1]=c;
}
}
}
System.out.println("===========================================");
System.out.println("学生名单(降序排序)");
System.out.println("姓名 数学 英语 平均");
for(int i=0;i<3;i++)
{
System.out.print(name[ts[i]]+" ");
System.out.print(sc[ts[i]][1]+" "+sc[ts[i]][2]+" "+sc[ts[i]][3]);
System.out.println();
}
}
public void getAvg()
{
for(int i=0;i<3;i++)
{
sc[i][3]=(sc[i][1]+sc[i][2])/2;
}
}
public void getClassAvg()
{
System.out.println("=================================================");
System.out.println("输出学科成绩信息");
int[] math=new int[3];
int[] English=new int[3];
int avgMath=0,avgEnglish=0;
for(int i=0;i<3;i++)
{
math[i]=sc[i][1];
English[i]=sc[i][2];
avgMath=avgMath+math[i];
avgEnglish=avgEnglish+English[i];
}
System.out.println("数学平均成绩是:"+avgMath/3);
System.out.println("英语平均成绩是:"+avgEnglish/3);
int maxMath=math[0];
int minMath=math[0];
int maxEnglish=English[0];
int minEnglish=English[0];
for(int i=1;i<3;i++)
{
if(math[i]>maxMath)
{
maxMath=math[i];
}
if(math[i]<minMath)
{
minMath=math[i];
}
if(English[i]>maxEnglish)
{
maxEnglish=English[i];
}
if(English[i]<minEnglish)
{
minEnglish=English[i];
}
}
System.out.println("数学最高成绩是:"+maxMath+"数学最低成绩是"+minMath+"英语最高成绩是"+maxEnglish+"英语最低成绩是"+minEnglish);
}
public void searchAsName()
{
System.out.println("=================================================");
System.out.println("查找学生信息");
Scanner input=new Scanner(System.in);
System.out.print("请输入你要查询的学生的姓名:");
String inputName=input.next();
int index=9;
for(int i=0;i<3;i++)
{
if(inputName.equals(name[i]))
{
index=i;
}
}
if(index==9)
{
System.out.println("搜索没有匹配");
return;
}
else
{
System.out.println("搜索的姓名为:"+inputName+"搜索结果是:");
System.out.println("数学 英语 平均");
for(int i=1;i<4;i++)
{
System.out.print(sc[index][i]+" ");
}
}
}
public static void main(String args[])
{
System.out.println("***********************************************************");
System.out.println("学生信息检索 wangking1029 QQ:799397501");
System.out.println("***********************************************************");
XJGL student=new XJGL();
student.getStudent();
student.getAvg();
student.printStudent();
student.getClassAvg();
student.searchAsName();
}
}
中间的排序用的是冒泡 比较低级
----------------解决方案--------------------------------------------------------
好棒
----------------解决方案--------------------------------------------------------