2016-10-26 3 views
0

이 프로그램은 10 개의 사용자 입력 정수를 사용하여 배열에 저장합니다. 가장 큰 값을 찾고 값의 인덱스를 찾는다. 현재 가장 큰 값을 찾습니다.배열 값의 인덱스 무시

그러나 그 값의 색인을 찾는 방법을 모르겠습니다. 나는 단순한 해결책을 과도하게 복잡하게 생각할지도 모른다. 어떤 도움이나 충고라도 감사 할 것입니다, 감사합니다!

public static void main(String[] args) { 

    int[] numbers; 
    numbers = new int[10]; 
    int largest = numbers[0]; 
    int counter; 

    Scanner keyboard = new Scanner(System.in); 

    System.out.println("Please enter 10 numbers: "); 

    for (counter = 0; counter < numbers.length; counter++) { 
     numbers[counter] = keyboard.nextInt(); 
    } 


    for (int i : numbers) { 

     if (i > largest) { 
      largest = i; 

     } 
    } 
    System.out.print("The largest number is: " + largest); 
    System.out.println(" "); 
    System.out.print("That number is stored at index " + ); 
    } 
} 

답변

2

트랙 최대의 위치를 ​​동시에

public static void main(String[] args) { 

    int[] numbers; 
    numbers = new int[10]; 
    int largest = numbers[0]; 
    int largest_i = 0; 
    int counter; 

    Scanner keyboard = new Scanner(System.in); 

    System.out.println("Please enter 10 numbers: "); 

    for (counter = 0; counter < numbers.length; counter++) { 
     numbers[counter] = keyboard.nextInt(); 
     if (numbers[counter] >= largest) { 
      largest = numbers[counter]; 
      largest_i = counter; 
     } 
    } 

    System.out.print("The largest number is: " + largest); 
    System.out.println(" "); 
    System.out.print("That number is stored at index " + ); 
    } 
} 
0

당신은 아마 인덱스 값을 저장하기 위해 'largestIndex'라는 변수를 만들 수 있습니다.

foreach 루프를 사용하는 대신 0에서 numbers.length까지 반복되는 for 루프를 사용하고 '가장 큰 것'보다 큰 수를 찾을 때마다 largestIndex 변수를 업데이트하십시오.