数组问题关于我的Java代码程序,该程序获取用户输入数字并输出最小和最大数字
我对编程非常陌生,所以如果这听起来很无知,请原谅我。我启动了这个程序,根据我在数组中输入的预设数字计算出最小和最大的数字。在创建程序并运行之后,我意识到我需要用户输入数字。我正试图获得同样的结果。我添加了一些代码,让我能够获得用户输入的数字,但它不适用于代码的其余部分。有没有办法让它通过我已有的计算来识别用户输入,或者我需要从头开始?我希望这是有道理的
package smallestlargestnumber;
import java.util.Arrays;
import java.util.Scanner;
/**
*
* @author robert.huckestein
*/
public class SmallestLargestNumber {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int[] numbers;
Scanner sc = new Scanner (System.in);
numbers = new int[9];
System.out.println("Enter 10 different numbers.");
for (int j = 0; j <= 9; j++) {
numbers[j] = sc.nextInt();
int largest = numbers[0];
int smallest = numbers[0];
for(int i = 1; i<numbers.length; i++){
if (numbers[i] > largest){
largest = numbers[i];
}
else if(numbers[i] < smallest){
smallest = numbers[i];
}
}
System.out.println(" The numbers given are" +Arrays.toString(numbers));
System.out.println(" Largest number is " + largest);
System.out.println(" Smallest number is " + smallest);
}
}
}
//这是我代码的编译程序
run:
Enter 10 different numbers.
1
2
3
4
5
6
7
8
9
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at smallestlargestnumber.SmallestLargestNumber.main(SmallestLargestNumber.java:31)
C:\Users\robert.huckestein\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 17 seconds)
# 1 楼答案
这是错误的,您需要存储10
int
,所以它必须new int[10]
改变它,你的代码就可以工作了
# 2 楼答案
正如我所看到的,问题是你没有完整地阅读用户输入,并且已经开始计算
我已经为你更新了程序。它从用户那里接收所有10个数字,然后才进行计算