有關JAVA程式撰寫一問

課程中,老師出了個題目要我們解答,題目如下:

撰寫一個簡易的成績輸入系統,可以儲存3位學生的5項科目成績,且各科可以依照成績高低排序顯示,並計算出各科成績平均.

目前程度連課本上例題都覺得有難度,想請問高手是否能幫忙!?

並做簡單的解說...感謝!!!

已更新項目:

抱歉....分類項目選錯...

是JAVA沒錯!!

3 個解答

評分
  • 志明
    Lv 5
    1 0 年前
    最佳解答

    import java.io.*;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    public class Test {

    public static void main(String[] args) throws IOException{

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

    String[] stud = new String[3];//學生人數,不可改!!

    String[] project = new String[2];//考試科目預設5科,可任意改值

    int[] score = new int[stud.length*project.length];//存放所有的分數

    int count=0;//存放所有的分數的計數器

    int[] mostScore = new int[project.length];//存放最高分

    int[] secondScore = new int[project.length];//存放次高分

    int[] lastScore = new int[project.length];//存放最低分

    //這個迴圈用來存入所有的考試項目

    for(int i = 0 ; i < project.length ; i++){

    System.out.println("請輸入考試科目:");

    project[i]= in.readLine();

    }

    //這個迴圈用來存入所有的學生及各個的分

    for (int i = 0; i < stud.length; i++){

    System.out.println("請輸入學生姓名:");

    stud[i] = in.readLine();

    for(int j = 1 ; j <= project.length ; j++){

    System.out.println("請輸入第"+j+"科考試成績:");

    score[count++]=Integer.valueOf(in.readLine());

    }

    }

    for(int i:score){

    System.out.println(i);

    }

    //以下為印出所有的資料

    System.out.println("科目\t最高分\t次高分\t最低分\t平均");

    for (int i = 0; i < project.length; i++){

    System.out.print(project[i]+"\t");

    mostScore=mostSort(score,project.length,stud.length);

    System.out.print(mostScore[i]+"\t");

    secondScore=secondSort(score,project.length,stud.length);

    System.out.print(secondScore[i]+"\t");

    lastScore=lastSort(score,project.length,stud.length);

    System.out.print(lastScore[i]+"\t");

    System.out.println((double)(mostScore[i]+secondScore[i]+lastScore[i])/3);

    }

    System.out.print("\n\n姓名\t");

    for (int i = 0; i < project.length; i++){

    System.out.print(project[i]+"\t");

    }

    System.out.println();

    for(int i =0;i<stud.length;i++){

    System.out.print(stud[i]+"\t");

    for(int j=0;j<project.length;j++){

    System.out.print(score[i*project.length+j]+"\t");

    }

    System.out.println();

    }

    //列印資料到此結束

    }

    2008-08-05 21:10:39 補充:

    //把單一科目最高分的放至mostScore陣列裡

    public static int[] mostSort(int[] score,int prosize,int studsize){

    int[] mostScore = new int[prosize];

    for(int i = 0;i

    list=new ArrayList ();

    for(int j =0;j

    2008-08-05 21:10:52 補充:

    sort(list);

    mostScore[i]=list.get(0);

    }

    return mostScore;

    }

    2008-08-05 21:11:46 補充:

    呵呵…不夠貼加被吃字= =

    你信箱給我吧,我寄檔案給你

    參考資料: 自已, 自已
  • 1 0 年前

    感謝您詳盡的回答!!

    再次感謝!!

  • 1 0 年前

    是JAVA還是VB??

    分類選VB 標題標JAVA @@!?

還有問題?馬上發問,尋求解答。