2017-11-10 1 views
-1

イム入力されたユーザから重複を削除すると、私がこれまで持っているものです。のJava:Javaを使用して、ユーザー入力配列から重複を削除しようとすると、ここで、重複した変数のエラーを取得しています整数配列

public class sortedArray { 

    static int alter(int array[], int n) { 
    if (n == 0 || n == 1) 
     return n; 
    int[] arr = new int[n]; 
    int r = 0; 
    for (int i = 0; i < n - 1; i++) 
     if (array[i] != array[i + 1]) 
     arr[r++] = array[i]; 
    arr[r++] = array[n - 1]; 
    for (int i = 0; i < r; i++) 
     array[i] = arr[i]; 
    return r; 
    } 

    public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    int[] array = new int[49]; 
    int n = array.length; 

    System.out.print("enter some integers (enter -9999 to stop): "); 
    for (int i = 0; i < array.length; i++) { 
     array[i] = input.nextInt(); 
     if (array[i] == -9999) { 
     break; 
     } 
     n = alter(array, n); 
     for (int i = 0; i < n; i++) //getting error here on the i 
     System.out.print(array[i] + " "); 
    } 
    } 
} 

どんな助けもありがとう。

+0

'i'はすでに周囲のスコープに定義されています。一意の識別子を使用して、あなたは良いです。 –

+0

あなたはこれをGoogleにすることができます。これは最も基本的な問題の1つです。 – shivam

答えて

0

あなたの問題は、最初のforループ内にiを再宣布しようとしていることです。 2番目のループで別のカウンタ変数を使用する必要があります。

for (int i = 0; i < array.length; i++) { 
    array[i] = input.nextInt(); 
    if (array[i] == -9999) { 
    break; 
    } 
    n = alter(array, n); 
    for (int j = 0; j < n; j++) //getting error here on the i 
    System.out.print(array[j] + " "); 
} 
関連する問題