2017-09-25 10 views
-3

ユーザーが配列に格納された10の数値を入力できるようにするプログラムを作成する必要があります。私はすでに、ユーザーが入力した最小値と最大値を決定するコードを持っており、最大値と最小値があるところでインデックスを表示する方法が問題です。私はそれが間違っていましたどの部分を知りたいJava配列:配列に格納されている値のインデックスを探します。

import java.util.Scanner; 

public class Array { 

    static Scanner in = new Scanner(System.in); 

    public static void main(String[] args) { 

     int numbers[] = new int[10]; 
     int smallest = Integer.MAX_VALUE, largest = numbers[0]; 

     for(int i = 0; i < 10; i++){ 
//I get the "Can't find symbol error" on this part: index = i; 

      index = i; 
      System.out.print("Array Number " + i + ": "); 
      numbers[i] = in.nextInt(); 
     } 
     for (int n = 0 ; n < numbers.length; n++) { 
      if (numbers[n] < smallest) { 
       smallest = numbers[n]; 
      } 
      if (numbers[n] > largest) { 
       largest = numbers[n]; 
      }  

     } 

//And this part, which it the: index 

     System.out.println("Maximum number is " + largest + " located in index " + index); 
     System.out.println("Minimum number is " + smallest + " located in index " + index); 

    } 

} 

:ここ

は私のコードです。

+0

':彼らはとにかく配列に格納されており、2つのインデックス(言及するためのアンドリュー・S.のおかげで)使用して取得することができますので、あなたも、smallestlargestを保存する必要はありません。 – hsz

+0

削除インデックス= i;ここで 'i'は基本的に' index'として使用されています – nafas

+0

あなたは同じ変数インデックスを使用していますか、それを使って最高位と最低位の両方のインデックスを教えてくれるのですか? 2つの異なる変数が必要です。 –

答えて

0

indexが定義されていないため、エラーが発生します。

int index = i; 

小さい番号と大きい番号のインデックスを見つけるには、小さい値または大きい値を見つけるたびに更新する2つのインデックスが必要です。

定義されていないindex`
int maxIndex = -1, minIndex = -1; 

for (int n = 0 ; n < numbers.length; n++) { 
    if (numbers[n] < smallest) { 
     smallest = numbers[n]; 
     minIndex = n; 
    } 
    if (numbers[n] > largest) { 
     largest = numbers[n]; 
     maxIndex = n; 
    }  
} 

System.out.println("Maximum number is " + numbers[maxIndex]+ " located in index " + maxIndex); 
System.out.println("Minimum number is " + numbers[minIndex] + " located in index " + minIndex); 
+0

インデックスを 'minIndex'と' maxIndex'として追跡することは、実際の値を決定するのに十分であることに注意してください。最小の_value_は 'numbers [minIndex]'で、最大の_value_は 'numbers [maxIndex]'なので、 'smallest'と' largest'は必要ありません。 –

+0

@AndrewSまさに私の答えを更新しました! :) –

+0

ありがとうございました! :)私は自分のコードを更新し、それは働いた! – Lovias

関連する問題