/*
案例:評委打分,六個或者更多個評委打分,去到一個最高分,一個最低分,求其他評委的平均值(當評委數量發生改變時不需要進行二次修改)
需求:定義一個陣列,長度為6,回圈獲取輸入的資料
定義方法獲取陣列中的最大值
定義方法獲取陣列中的最小值
求其他四位評委的平均值
輸出
小插曲:起初忘記了將輸入的值存入陣列、求和公式忘記了寫括號,很是讓我這個基礎學習者苦惱;但也正因如此,讓我熟悉了debug的操作,也更改過來了錯誤;不失為一種樂趣
可能這也正是編程的樂趣所在,發現問題,解決問題
*/
public class PingWeiDaFen {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入評委個數");
int gs = sc.nextInt();
//定義陣列3
int[] arr = new int[gs];
//使用Scanner 類獲取資料
Scanner sc1 = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("請輸入第" + (i + 1) + "位評委的打分");
arr[i] = sc1.nextInt();
}
printArr(arr);
int max = getMax(arr);
int min = getMin(arr);
int avg = getSum(max, min, arr);
System.out.println(arr.length + "位評委的平均分" + avg);
}
//定義方法獲取陣列中的最大值
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i]> max) {
max = arr[i];
}
}
return max;
}
//定義方法獲取陣列中的最小值
public static int getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] < min) {
min=arr[i];
}
}
return min;
}
//定義方法進行求和
public static int getSum(int max, int min, int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
int avg = (sum - max - min) / (arr.length - 2);
return avg;
}
//陣列遍歷方法
public static void printArr(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i]);
} else
System.out.print(arr[i] + ",");
}
System.out.print("]");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/440417.html
標籤:其他
上一篇:【面經】Java面試問答題
下一篇:面試題: 字串轉整型 終結者
