1. 程式人生 > >2.6使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果

2.6使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果

摩爾的Java學習筆記2.6

第二週作業:

1、實現將一組整數進行升序排列;
2、用二維陣列實現,5個學生4門課程的總分和平均分的統計工作;
3、列印八行八列楊輝三角,開頭不列印空格;
4、模擬打牌遊戲中的發牌過程。用1~52來代表52張牌,玩家有四人,要求將發牌結果存入一個二維陣列(4行13列),最後顯示發牌結果,不許重複;
5、輸入多個字串,存入陣列,然後按照字串的大小重新升序排列;
6、使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果。

6、使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果。


/**
 * @author 薛蓮婷
 *使用二維陣列儲存學生的資料,包括學號、姓名、作業系統成績、Java成績、高數成績、總分;一行儲存一個學生的資料;
 *要求輸入若干學生的資料,求出總分;然後按照總分由高到低重新排列;輸出排序後的結果
 *
 */

/*供複製以輸入的學生資訊:
112 張一 98 70 78
20 李二 98 0 1
01 王三 98 78 29
302 趙四 99 97 20
 */
import java.util.*; class Assignment5 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("請輸入學生人數:"); int n=sc.nextInt(); String [][]student=new String[n][6]; //學生資訊的二位陣列 System.out.println("請輸入學號、姓名、作業系統成績、Java成績、高數成績:"
); for(int i=0;i<n;i++) { System.out.printf("第%d位學生:",i+1); for(int j=0;j<5;j++) { student[i][j]=sc.next(); //每位學生資訊佔一行 } } float []sum=new float[n]; //存放總分的一個float型陣列 for(int i=0;i<n;i++) //計算每位學生的總分 { sum[i]=Float.parseFloat(student[i][2])+Float.parseFloat(student[i][3])+Float.parseFloat(student[i][4]); student[i][5]=String.valueOf(sum[i]); //將float型轉為字串存入原陣列 } float temp; String [][]p=new String[1][6]; for(int i=0;i<n-1;i++) //根據總分進行升序排序 { int max=i; for(int j=i+1;j<n;j++) { if(sum[max]<sum[j]) { max=j; } temp=sum[max]; sum[max]=sum[j]; sum[j]=temp; p[0]=student[max]; student[max]=student[j]; student[j]=p[0]; } } System.out.println("按總分升序排列後的學生資訊:\n學號\t姓名\t作業系統成績\tJava成績\t高數成績\t總分"); for(int i=0;i<n;i++) //列印升序排列之後的學生資訊 { for(int j=0;j<6;j++) { System.out.print(student[i][j]+"\t"); } System.out.print("\n"); } sc.close(); } }