2

私はJavaとNetBeansを初めて使用します。ユーザー入力が必要なプログラムを作成しようとしています。これは私のコードです:

public class Arrays {

  public static void main(String[] args){
  }

  private double[] readNumbers(){
      final Input in = new Input();
      System.out.print("How many numbers will you enter?: ");
      final int count = in.nextInt();
      final double[] list = new double[count];
      for (int i = 0; i < count; ++i){
          System.out.print("Enter next number: ");
          list[i] = in.nextDouble();
      }
      return list;
  }
}

行内のfinal Input in - new Input();Netbeansは、シンボルが見つからないことを示す入力に下線を付けます。しかし、実際には教科書からこのコードをコピーしたので、何が問題なのかわかりません。多分必要だと思いましimport java.ioたが、それでも問題は解決しませんでした。これがばかげた質問であるならば本当に申し訳ありません、しかしどんな助けでも本当にありがたいです。

ありがとうございました!

4

3 に答える 3

2

教科書に、プロジェクトにインポートするのを忘れたクラス定義があるようです。必要に応じて、次のようにコードを変更します。

final Input in = new Input();

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

コードを変更したくない場合は、このコードを取得したページを上下に数ページ見ると、Inputという名前のクラスが表示されます。これは次のようなものです。

class Input{

    public int nextInt(){
         Scanner sc=new Scanner(System.in);
         return sc.nextInt();
    }

    public double nextDouble(){
         Scanner sc=new Scanner(System.in);
         return sc.nextDouble();
    }

}

これは基本的に、余分な不要な作業です。それをプロジェクトに含めると、正常に実行されるはずです。

于 2012-10-16T01:26:04.097 に答える
1

コードはクラスInputのインスタンスを作成しようとしますが、クラスInputのコードは含まれていません。それを解決して(本の前のページを試してください!)、コードはおそらく機能します。

于 2012-10-16T01:42:02.947 に答える
0

Inputのラッパークラスである可能性がありますjava.util.Scanner

置き換えることができます:

final Input in = new Input();

final Scanner in = new Scanner(System.in);
于 2012-10-16T01:07:16.170 に答える