~~~
package StudentScore;
import java.util.*;
public class Index {
public static void main(String[] args){
Scanner in =new Scanner(System.in);
System.out.println("請輸入學生的人數:");
int renshu=in.nextInt();//存儲學生人數
System.out.println("請輸入課程的數目:");
int kechen=in.nextInt();//存儲課程的數目
String[] name=new String[renshu];//學生姓名數組
String[] course=new String[kechen];//學生課程名字數組
int[][] score=new int[renshu][kechen];//存儲成績
int[] sum=new int[renshu];
int[] avg=new int[renshu];
String[] str =new String[renshu];
for(int i=0;i<course.length;i++){//存儲課程名稱
System.out.println("請定義第"+(i+1)+"門課程的名字:");
course[i]=in.next();
}
for(int i=0;i<renshu;i++){//錄入成績
int s=0;
String str11="";
System.out.println("請輸入第"+(i+1)+"個學生的姓名:");
name[i]=in.next();
for(int j=0;j<kechen;j++){
System.out.println("請輸入"+name[i]+"的"+course[j]+"的成績");
score[i][j]=in.nextInt();
s+=score[i][j];
str11+=score[i][j]+"\t";
}
sum[i]=s;
avg[i]=s/kechen;
str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];
}
//效果輸出
for(int i=0;i<str.length-1;i++){
for(int j=0;j<sum.length-1;j++){
if(sum[j]<sum[j+1]){
int t=sum[j];String t2=str[j];
sum[j]=sum[j+1];str[j]=str[j+1];
sum[j+1]=t;str[j+1]=t2;
}
}
}
System.out.print("學生");
for(int i=0;i<course.length;i++){
System.out.print("\t"+course[i]);
}
System.out.print("\t總分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<renshu;i++){
/*System.out.print(name[i]);
for(int j=0;j<kechen;j++){
System.out.print("\t"+score[i][j]);
}
System.out.print("\t"+sum[i]);
System.out.print("\t"+avg[i]);*/
System.out.println(str[i]+"\t第"+(i+1)+"名");
System.out.println();
}
}
}
~~~

- 書寫心得
- 1.初識Java
- 2.變量、數據類型和運算符
- 實例:數據的輸入
- 實例:變量互換
- 3.條件選擇結構
- 案例:判斷年份是否為閏年
- 案例:生成隨機數
- 實例:剪刀石頭布
- 4.循環結構
- 實例:猜數字游戲
- Myeclipse
- 實例:九九乘法表
- 實例:日歷
- 5.數組
- JVM內存分析
- 鍵盤錄入賦值數組
- 數組的length屬性
- 數組的最大值(打擂臺)
- 數組的排序
- 數組復制算法
- 數組的查找算法(搜索)
- 數組的插入算法
- 數組的冒泡算法
- 數組的選擇排序
- 多維數組
- 實例:學生成績管理系統
- 類和對象
- 概念
- 內存分析
- 創建類和對象
- 面向對象與內存分析
- 有參數無(有)返回值的調用
- 成員變量
- return和多參方法
- toString方法
- this關鍵字
- 封裝
- 方法的重載
- 構造方法
- 階段性總結
- 實例:學生管理系統
- Test.java
- Student.java
- Admin.java
- 構造代碼塊及構造函數之間的調用
- main方法和靜態應用工具類及classpath
- static關鍵字
- 文檔注釋和靜態代碼塊及單例模式
- 繼承
- 多態
- 匿名對象和toString()和equals及final
- 抽象類和模板方法設計模式
- 接口
- 包機制和包與包之間的訪問權限和jar包