声明数组类变量的合适方法?

时间:2020-05-04 20:46:37

标签: java arrays arraylist

我对学习数组非常陌生,想知道如何使用数组方法使用扫描器输入声明变量。例如,在常规情况下,假设我要查找常规扫描仪输入的平均值,则可以执行以下操作:

int num1 = keyboard.nextInt();
int num2 = keyboard.nextInt();
int Average = (num1+num2)/2;
System.out.print(Average);

这是我最熟悉的最简单的方法,但是我希望将相同的逻辑/方法应用于Array类。

任务是从用户输入一个整数,表示要再输入多少个整数。然后,用户输入其余的整数。程序输出数字的平均值,四舍五入到小数点后一位。 同样,这是一个非常简单的任务,但是根据我之前使用常规扫描仪输入提供的示例,我无法声明 Average 变量。

我的代码:

else if (option == 2){
    int[] numbers = new int[keyboard.nextInt()];
        for (int x = 0; x < numbers.length; x++){
            numbers[x] = keyboard.nextInt(); //need to now declare an average variable
        }
    int Average = //What would I put here?
        for (int x = 0; x < numbers.length; x++){
            System.out.println(Average); //Average needs to be printed
        }
    }

1 个答案:

答案 0 :(得分:3)

这是一个简单的解决方案...

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int result = sc.nextInt();

    while (true) {
        String next = sc.next();

        if (next.equals("done") || next.equals("calculate")) {
            System.out.println(result);
            break; // Exit Loop.
        } else if (next.equals("+")) {
            result += sc.nextInt();
        } else if (next.equals("-")) {
            result -= sc.nextInt();
        } else {
            System.out.println("Unrecognized Input");
            break; // Exit Loop.
        }
    }
}

这需要至少输入一个数字。另请注意,此类解决方案仅适用于左关联运算符。 (幸运的是+-都是)例如,由于结果是在左联想中计算的,因此我们无法向该算法添加指数。