您好,登錄后才能下訂單哦!
首先需要說明,本代碼使用的判斷方式是每個學生成績與最高學生成績的差來判斷等級
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];
}
}
運行結果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。