当前位置: 代码迷 >> Java相关 >> JAVA课程设计,学生成绩管理
  详细解决方案

JAVA课程设计,学生成绩管理

热度:312   发布时间:2010-01-13 16:50:39.0
JAVA课程设计,学生成绩管理
要求:
1) 输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)
2) 计算出平均成绩。以平均成绩降序输出成绩表。
3) 输出全组各科平均分,最高分和最低分。
4) 输入姓名查询成绩
界面要示:用字符界面实现、也可用图形界面实现。
谢谢各位高手来帮忙解答.....


搜索更多相关的解决方案: 设计  管理  学生  课程  JAVA  

----------------解决方案--------------------------------------------------------
下载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();
    }

}
不过还有好多要改进的地方 只是大概写了写 能测试通过
中间的排序用的是冒泡 比较低级
----------------解决方案--------------------------------------------------------
好棒

----------------解决方案--------------------------------------------------------
  相关解决方案