亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java程序計算變量數組的平均值,從命令行輸入,顯示結果

Java程序計算變量數組的平均值,從命令行輸入,顯示結果

DIEA 2021-04-07 13:11:18
以下是我到目前為止的內容。這些說明是為了創建一個簡單的Java程序,該程序計算可變數量的int的平均值。主要的Args數組,無Scanner對象,查找并顯示最高和最低值。將用戶輸入作為參數并返回值的靜態方法。啟動時應顯示歡迎消息。因此,我認為代碼的開頭是正確的!它為我編譯。但是我不確定如何在不使用掃描儀的情況下獲得用戶輸入。我假設我需要在靜態方法中使用數組將輸入轉換為參數。執行時哪個是Java CalculateAverage 1、2、5、9、20?然后我會打電話給MATH嗎?這樣我就可以顯示min max和avg的所有值?我在正確的軌道上嗎?這些問題在代碼中是特定的。抱歉,第一次在這里發布!public class CalculateAverage {public static void main(String[] args) {    System.out.print("Hello welcome to the Average Calculator");    int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};    int a = Integer.parseInt(args[0]);    int b = Integer.parseInt(args[1]);    //do i just keep going and adding letters til j?     //or is there an easier way to do this..?    minArray(array);    maxArray(array);    sumArray(array);    avgArray(array);}public static double maxArray(double[] array){    double max = Double.NEGATIVE_INFINITY;       //tbh i saw this on a tutorial, idk if NEGATIVE_INFINITY would        //work for me?         for (int i = 0; i < n; i++)            if (array[i] > max) max = array[i];    System.out.println("The maximum of your array is:" + max);}public static double avgArray(double[] array){    double sum = 0.0;    for(int i = 0; i < n; i++)        sum += array[i];    double avg = sum / n;    System.out.println("The average value of your array is: " + avg);} //then i would make another static for the min but probably before max}
查看完整描述

3 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

這就是我會做的。希望代碼是簡單且不言自明的,但是如果有任何問題,請告訴我:


public static void main(String[] args) {

    System.out.println("Hello welcome to the Average Calculator");

    int numArgs = args.length;  //Since args is an array we can get the number of elements with .length

    int min = Integer.MAX_VALUE;  //The maximum possible value an int can be

    int max = Integer.MIN_VALUE;  //The minimum possible value an int can be

    double total = 0;

    for(int i = 0; i < numArgs; i++) {

        int nextI = Integer.parseInt(args[i]);

        total += nextI;

        if(nextI < min) {

            min = nextI;

        }

        if(nextI > max) {

            max = nextI;

        }

    }

    System.out.println("The average is: " + total/numArgs);

    System.out.println("The min is: " + min);

    System.out.println("The max is: " + max);

}

然后,您將運行如下代碼:


java CalculateAverages 1 2 3 4 5 6 7 8 9


Hello welcome to the Average Calculator

The average is: 5.0

The min is: 1

The max is: 9

編輯:


指令說:“要找到這些值,請創建將用戶輸入作為參數并返回值的靜態方法”


public static void main(String[] args) {

    int numArgs = args.length;

    int[] userIntInputs = new int[numArgs]; 

    for(int i = 0; i < numArgs; i++) {

        userIntInputs[i] = Integer.parseInt(args[i]);

    }

    System.out.println("The average is: " + getInputAverage(userIntInputs));

    System.out.println("The min is: " + getInputMin(userIntInputs));

    System.out.println("The max is: " + getInputMax(userIntInputs));

}


private static int getInputMax(int[] userIntInputs) {

    int max = Integer.MIN_VALUE;

    for(int i = 0; i < userIntInputs.length; i++) {

        if(userIntInputs[i] > max) {

            max = userIntInputs[i];

        }

    }

    return max;

}


private static int getInputMin(int[] userIntInputs) {

    int min = Integer.MAX_VALUE;

    for(int i = 0; i < userIntInputs.length; i++) {

        if(userIntInputs[i] < min) {

            min = userIntInputs[i];

        }

    }

    return min;

}


private static double getInputAverage(int[] userIntInputs) {

    double total = 0;

    for(int i = 0; i < userIntInputs.length; i++) {

        total += userIntInputs[i];

    }

    return total/userIntInputs.length;

}

一種方法替代


如果她想為每個值或一個方法創建一個方法,則為Idk!


是的,老師可能會混淆。這是一種方法...


public static void main(String[] args) {

    int numArgs = args.length;

    int[] userIntInputs = new int[numArgs]; 

    for(int i = 0; i < numArgs; i++) {

        userIntInputs[i] = Integer.parseInt(args[i]);

    }


    Object[] inputMetrics = getInputMetrics(userIntInputs);

    System.out.println("The average is: " + inputMetrics[0]);

    System.out.println("The min is: " + inputMetrics[1]);

    System.out.println("The max is: " + inputMetrics[2]);


}


private static Object[] getInputMetrics(int[] userIntInputs) {

    int min = Integer.MAX_VALUE; 

    int max = Integer.MIN_VALUE;

    double total = 0;

    for(int i = 0; i < userIntInputs.length; i++) {

        int nextI = userIntInputs[i];

        total += nextI;

        if(nextI < min) {

            min = nextI;

        }

        if(nextI > max) {

            max = nextI;

        }

    }

    Object[] metrics = {total/userIntInputs.length, min, max};

    return metrics;

}


查看完整回答
反對 回復 2021-04-21
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

簡單是恕我直言的最佳方法。這完成了整個事情:


DoubleSummaryStatistics stats = Arrays.stream(args)

    .collect(Collectors.summarizingDouble(Double::parseDouble));


System.out.println("The minimum of your array is: "+ stats.getMin());

System.out.println("The maximum of your array is: "+ stats.getMax());

System.out.println("The sum of your array is: "+ stats.getSum());

System.out.println("The average of your array is: "+ stats.getAverage());

當有內置庫可以處理某些事情時,請使用它。


查看完整回答
反對 回復 2021-04-21
  • 3 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號