Java練習題-評委打分

菩提306發表於2020-10-11

一、6個評委打分,去掉一個最高分和最低分,算出平均值後為最終得分,程式碼如下

public class ClsaaTest {                                                                     
    public static void main(String[] args) {                                                 
        int[] arr = getscore();                                                   
		printarr(arr);                                                            
		int svg =  (sumarr(arr)-getmax(arr)-getmin(arr))  / (arr.length-2);      
		System.out.println("去掉一個最高分:"+getmax(arr));                              
		System.out.println("去掉一個最低分:"+getmin(arr));                              
	    System.out.println("最後得分為:"+svg); 
	};	                                                                                 
                                  
    // 定義一個獲取評委打分的方法                                                                         
    public static int[] getscore() {                                                         
        int[] arr = new int[6];                                                              
        Scanner sc = new Scanner(System.in);                                                 
        for (int x = 0; x < arr.length; x++) {                                               
            System.out.println("請輸入第" + (x + 1) + "個分數");                                    
            int score = sc.nextInt();                                                        
            if (score >= 0 & score <= 100) {                                                 
                arr[x] = score;                                                              
            } else {                                                                         
                System.out.println("輸入的分數錯誤,請重新輸入");                                         
                x--;                                                                         
            }                                                                                
        }                                                                                    
        return arr;                                                                          
    }                                                                                        
                                                                                             
     //陣列求和                                                                                  
    public static int sumarr(int[]arr){                                                      
        int sum = 0;                                                                         
        for(int x=0;x<arr.length;x++){                                                       
            sum+=arr[x] ;                                                                    
        }                                                                                    
        return sum;                                                                          
    }                                                                                        
                                                                                             
    // 獲取陣列中最大的值                                                                             
    public static int getmax(int[] arr) {                                                    
         int max = arr[0];                                                                   
        for (int x = 1; x < arr.length; x++) {                                               
            if (arr[x]>max){                                                                 
                max = arr[x] ;                                                               
            }                                                                                
        }                                                                                    
        return max;                                                                          
    }                                                                                        
                                                                                             
    //  獲取陣列中最小的值                                                                            
    public static int getmin(int[]arr){                                                      
        int min = arr[0];                                                                    
        for(int x=1;x<arr.length;x++){                                                       
          if(arr[x]<min){                                                                    
              min = arr[x]  ;                                                                
          };                                                                                 
        }                                                                                    
        return min;                                                                          
    }                                                                                        
                                                                                             
    // 定義一個遍歷陣列方法                                                                            
    public static void printarr(int[] arr) {                                                 
        System.out.print("所有分數為[");                                                          
        for (int x = 0; x < arr.length; x++) {                                               
            if (x == arr.length - 1) {                                                       
                System.out.print(arr[x]);                                                    
            } else {                                                                         
                System.out.print(arr[x] + ", ");                                             
            }                                                                                
        }                                                                                    
        System.out.println("]");                                                             
    }                                                                                        
}                                                                                            

相關文章