Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声明数组类变量的合适方法?_Java_Arrays_Arraylist - Fatal编程技术网

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

Java 声明数组类变量的合适方法?,java,arrays,arraylist,Java,Arrays,Arraylist,我对学习数组非常陌生,我想知道如何使用数组方法声明带有扫描器输入的变量。例如,在常规场景中,假设我想找到常规扫描仪输入的平均值,我会这样做: int num1 = keyboard.nextInt(); int num2 = keyboard.nextInt(); int Average = (num1+num2)/2; System.out.print(Average); 这是我非常熟悉的最简单的方法,但我希望将相同的逻辑/方法应用于Array类 任务是从用户输入一个整数,表示将要输入的整数

我对学习数组非常陌生,我想知道如何使用数组方法声明带有扫描器输入的变量。例如,在常规场景中,假设我想找到常规扫描仪输入的平均值,我会这样做:

int num1 = keyboard.nextInt();
int num2 = keyboard.nextInt();
int Average = (num1+num2)/2;
System.out.print(Average);
这是我非常熟悉的最简单的方法,但我希望将相同的逻辑/方法应用于Array类

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

我的代码:

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
        }
    }
else if(选项==2){
int[]number=new int[keyboard.nextInt()];
对于(int x=0;x
这里有一个简单的解决方案

publicstaticvoidmain(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int result=sc.nextInt();
while(true){
字符串next=sc.next();
if(next.equals(“完成”)| next.equals(“计算”)){
系统输出打印项次(结果);
break;//退出循环。
}else if(next.equals(“+”)){
结果+=sc.nextInt();
}else if(next.equals(“-”){
结果-=sc.nextInt();
}否则{
System.out.println(“无法识别的输入”);
break;//退出循环。
}
}
}

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

我建议使用堆栈使用开关语句您可以给我举个例子吗?您也可以使用
映射
(特别是一个
HashMap
并在其中添加所有操作及其各自的函数,您希望用户先确定操作符号,然后再执行2+2+3+5…还是用户必须在每次插入操作符号后确定操作符号,以便执行此操作:2+5-6-2+3…?如果您希望它跟随BEDMAS,该怎么办?我将查找更多信息。)复杂的算法。这种风格的程序不适合括号或指数。初学者经常使用堆栈制作反向波兰符号计算器。谷歌it。这是一个非常流行的问题,有大量的教程和示例。这似乎是一个很好的Java教程,例如: