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教程,例如: