2013-06-26 5 views
0
import java.util.Scanner; 

public class Testing { 
public static void main(String[] args){ 
    int[] userInput = new int[8]; 
    int userDetermint,numEntered; 

    Scanner csole = new Scanner(System.in); 

    System.out.print("Choose how many numbers you wanted to input the limits is up to 9: "); 
    userDetermint = csole.nextInt(); 
    System.out.println("Please Key In Your "+ userDetermint + " numbers: "); 
    for (int i = 0; i < userDetermint; i++){ 
     numEntered = csole.nextInt(); 
     userInput[i]= numEntered; 
    } 
    int smallest = userInput[0]; 
    int largest = userInput[0]; 
    for (int index = 0; index < userInput.length; index++){ 
     if(userInput[index]>largest) 
      largest = userInput[index]; 
     else if (userInput[index]< smallest) 
      smallest = userInput[index]; 
    } 
    System.out.println("Largest Number is "+ largest); 
    System.out.println("Smallest Number is "+ smallest); 
} 

} 

사용자가 입력 한 최대 값과 최소값을 2-10에서 찾는 연습을했습니다. 배열을 사용하여 정확하게 나타내었지만, 가장 작은 값은 항상 0을 반환합니다. 누군가 나를 지적 할 수 있다면 궁금합니다. 실수를하고 나에게 설명해.배열의 최소값이 항상 0 인 이유는 무엇입니까?

답변

2

for (int index = 0; index < userInput.length; index++){ 

이 줄은

for (int i = 0; i < userDetermint; i++){ 

해야하거나 0 영역으로 루프 것입니다.