Java 通过控制台传递数组元素来查找数字的平均值
事实上,我是这个小组的新成员,也是Java的新成员,我想知道如何通过控制台传递数组参数,最后我编写了如下程序:Java 通过控制台传递数组元素来查找数字的平均值,java,arrays,parameters,console,Java,Arrays,Parameters,Console,事实上,我是这个小组的新成员,也是Java的新成员,我想知道如何通过控制台传递数组参数,最后我编写了如下程序: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Average { public static void main(String []args) { int numbers[]; try
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Average
{
public static void main(String []args)
{
int numbers[];
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
numbers =Integer.parseInt( br.readLine());
}
catch(NumberFormatException ne)
{
System.out.println("Invalid input: " + ne);
System.exit(0);
}
catch(IOException ioe)
{
System.out.println("I/O Error: " + ioe);
System.exit(0);
}
System.out.println(methodAverage());
}
public static int methodAverage(int...numbers)
{
int sum=0;
int avg=0;
for(int x:numbers)
{
sum+=x;
avg=sum/numbers.length;
return avg;
}
}
}
错误是
Average.java:13: error: incompatible types
numbers =Integer.parseInt( br.readLine());
^
required: int[]
found: int
1 error
我知道那会来的,但我只是试了一下
所以我只想知道如何通过控制台传递这些数字
numbers = Integer.parseInt(br.readLine());
parserInt返回一个整数,numbers是一个数组。你需要一个循环
关于你的平均方法,你可能想考虑使用浮点数学。否则,10的平均值将为零
parserInt返回一个整数,numbers是一个数组。你需要一个循环
关于你的平均方法,你可能想考虑使用浮点数学。否则,10的平均值将为零。这就是在命令行或终端中传递值数组的方式,如果您使用它来运行该应用程序,这就足够了
java SomeJavaFile.java 1,2,3,4,5
这是您在命令行或终端中传递值数组的方式,如果您使用它来运行该应用程序,这就足够了
java SomeJavaFile.java 1,2,3,4,5
使用ArrayList numbers=新的ArrayList,而不是int[]编号;改变
numbers=Integer.parseInt br.readLine;
至numbers.addInteger.parseInt br.readLine;
这使您可以读取每个输入行的单个整数
如果有一行输入了多个整数:
String[] nums = br.readLine().split(" ");
int[] numbers = new int[nums.length];
for(int i = 0; i < nums.length; i++) {
numbers[i] = Integer.parseInt(nums[i]);
}
使用ArrayList numbers=新的ArrayList,而不是int[]编号;改变
numbers=Integer.parseInt br.readLine;
至numbers.addInteger.parseInt br.readLine;
这使您可以读取每个输入行的单个整数
如果有一行输入了多个整数:
String[] nums = br.readLine().split(" ");
int[] numbers = new int[nums.length];
for(int i = 0; i < nums.length; i++) {
numbers[i] = Integer.parseInt(nums[i]);
}
整数[]
由于数组是一个对象,您需要使用newas在堆上分配它
整数[]=新整数[大小]
Average.java:13:错误:不兼容的类型
numbers=Integer.parseInt br.readLine
->Integer.parseInt返回整数而不是数组,您可以使用:
for(int index=0; index<size; index++) {
numbers[index] =Integer.parseInt( br.readLine()); // add exception handling code as above
}
您正在使用BufferedReader br=new BufferedReadernew InputStreamReaderSystem.in;要从控制台读取值,我建议您使用Scanner类。看一看
整数[]
由于数组是一个对象,您需要使用newas在堆上分配它
整数[]=新整数[大小]
Average.java:13:错误:不兼容的类型
numbers=Integer.parseInt br.readLine
->Integer.parseInt返回整数而不是数组,您可以使用:
for(int index=0; index<size; index++) {
numbers[index] =Integer.parseInt( br.readLine()); // add exception handling code as above
}
您正在使用BufferedReader br=new BufferedReadernew InputStreamReaderSystem.in;要从控制台读取值,我建议您使用Scanner类。看一看