我正在創建一個程序,要求用戶輸入十個數字,然後輸出最小和最大的數字。這是我的代碼:使用索引的最小和最大數字數組?
import java.util.Scanner; // program uses Scanner
public class ArrayTester {
// begin execution
public static void main(String[] args) {
// declare and create array object
// declare smallest and largest int variables
int[] numbers;
numbers = new int[10];
int smallest = numbers[0], largest = numbers[0];
// create Scanner object
Scanner input = new Scanner(System.in);
// prompt user
System.out.print("Please enter 10 numbers: \n");
// use for loop to obtain user input
for (int counter = 0; counter < numbers.length; counter++) {
numbers[counter] = input.nextInt();
} // end obtaining input
// enhanced for loop to find largest and smallest values
for (int i : numbers) {
if (i < smallest) {
smallest = i;
} // end finding smallest
else if (i > largest) {
largest = i;
} // end finding largest number
} // end finding largest and smallest values
// for loop to print user input
System.out.printf("%s%8s\n", "Index", "Input");
for (int counter = 0; counter < numbers.length; counter++) {
System.out.printf("%5d%8d\n", counter, numbers[counter]);
} // end printing input values
// print smallest and largest numbers
System.out.printf("Smallest number: %d\nLargest number: %d\n", smallest, largest);
} // end main
} // end ArrayTester
我遇到的問題是當數字輸出時,它給我0作爲最小和9作爲最大。我知道這是因爲10數組數組,但如何固定顯示最小整數和最大整數?
你認爲什麼是錯的,你做了什麼來調試它? – ergonaut
提示提示最小=我?我在那裏? – brad
@brad'i'是數組中的一個*值*,因爲循環是增強的for循環,而不是正常的循環索引。 – Andreas