我对学习数组非常陌生,想知道如何使用数组方法使用扫描器输入声明变量。例如,在常规情况下,假设我要查找常规扫描仪输入的平均值,则可以执行以下操作:
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
}
}
答案 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.
}
}
}
这需要至少输入一个数字。另请注意,此类解决方案仅适用于左关联运算符。 (幸运的是+
和-
都是)例如,由于结果是在左联想中计算的,因此我们无法向该算法添加指数。