1. 程式人生 > >Java編程判斷一組學生成績等級

Java編程判斷一組學生成績等級

char 技術 imp eve cores system.in cto pri 技術分享

首先需要說明,本代碼使用的判斷方式是每個學生成績與最高學生成績的差來判斷等級

eg:最高成績98(最高成績等級為A)
87為B;
77為C;
67為D;
47為D;

代碼如下:

import java.util.*;
public class First{
public static void main(String args[]){
Scanner ss=new Scanner(System.in);
System.out.println("Enter the number of number of stuednts:");
int number=ss.nextInt();//輸入學生成績個數
int[] score=new int[number];//存儲成績的數組
System.out.println("Enter "+number+" scores:");
for(int i=0;i< score.length;i++){
score[i]=ss.nextInt();//存入成績
}
int max=MAX(score,number);//調用MAX方法找到最高成績
char[] level=level(score,number,max);//調用level方法判斷成績等級
for(int i=0;i<score.length;i++){//輸出
System.out.println("Student"+ i +" score is "+ score[i]+" and grade is "+level[i]);
}
}
static char[] level(int[] a,int n,int max){//判斷等級方法
char[] c=new char[n];
for(int i=0;i<n;i++){//判斷等級
if(a[i]>=max-20&&a[i]<max-10){
c[i]=‘B‘;
continue;
}
if(a[i]>=max-30&&a[i]<max-20){
c[i]=‘C‘;
continue;
}
if(a[i]<=max-40){
c[i]=‘D‘;
continue;
}
if(a[i]>=max-10){
c[i]=‘A‘;
}
}
return c;
}
static int MAX(int[] a,int n){//找到最大值
int[] d=new int[n];    
System.arraycopy(a,0,d,0,n);//備份數組
Arrays.sort(d);//將數組升序排序,最後一個元素為最大值
return d[n-1];
}
}

運行結果:

技術分享圖片

Java編程判斷一組學生成績等級