-3

初心者 - これは宿題で合格です。重複した番号を排除し、特定の public static int[] xxx(int[] list) を使用することを想定しています。次のコードは、テキストパッドでコンパイルするとエラーが発生し、シンボル番号 [i] が見つからず、^ は [i] にあります。

import java.util.Scanner;
import java.util.Arrays;

public class Duplicate{

public static int[] Duplicate(int[] list){

int[] numbers = new int[10];

Scanner input = new Scanner(System.in);
System.out.print("Enter 10 numbers: ");
numbers[i] = input.nextInt();

for(int i = 0; i < numbers.length; i++)
Arrays.sort(numbers);

for(int i = 0; i < numbers.length; i++)
System.out.println(numbers[i]);


}//end eliminate
}//end Duplicate
4

2 に答える 2

1

ループ ヘッダーとループ本体で行を切り替えたようです。

numbers[i] = input.nextInt();
for(int i = 0; i < numbers.length; i++)

する必要があります

for(int i = 0; i < numbers.length; i++) {
    numbers[i] = input.nextInt();
}

現在、コードはi宣言される前に使用し、10 回ソートします。この 2 つのことはどちらも意味をなさない。

早い段階で学ぶべき非常に良い習慣は、すべての制御ステートメントの本文を中括弧で囲むことです。本文が 1 行の場合でも同様です。これは、制御構造とそれらが制御するコードを視覚的に組み合わせることで、そのような単純なエラーを回避するのに役立ちます。

于 2013-03-03T17:03:38.450 に答える
0

変数を使用する前に変数を宣言する必要があります。

numbers[i] = input.nextInt();

コードの上記の行では、 i が初期化されていないため、このエラーが発生しています。

于 2013-03-03T17:04:20.987 に答える