-1

学校の科目のコーディング中に、「in」というメッセージが表示されるまで、配列リストに Double を入力する必要がありました。この場合、停止して他の 2 つの値をスキャンし、計算を開始することができました。コード全体を表示することは重要ではないため、問題のあるクラスのみを表示します。

    import java.util.Scanner;

class Test{
  double x1, x2;
  Scanner sc;
  ArrayList<Double> coefficients;

  void help() {    
    sc = new Scanner(System.in);
    coeffiecients = new ArrayList<Double>();

      while(!sc.next().equals("in")){
        coefficients.add(coefficient);
        coefficient = sc.nextDouble();
      }

      x1 = sc.nextDouble();
      x2 = sc.nextDouble();
    }

  public static void main(String[] args){
    new Test().help();
  }
}

したがって、このコードでは、次のエラー メッセージが表示されます。cannot find symbol

シンボル: 変数 nextDouble

場所: タイプ java.util.Scanner の変数 sc

このコードでエラーが発生する理由がわかりません。誰かが私を助けることができますか?

[[私のコードを追加しましたが、ArrayList<Double> coefficients; なぜそれが間違っているのですか?]]

正しいコードはここにあります! 変更はすべて回答番号 1 に記載されています

import java.util.*;

class Test{
  double x1, x2;
  Scanner sc;
  ArrayList<Double> coefficients;
  double coefficient;

  void help() {    
    sc = new Scanner(System.in);
    coefficients = new ArrayList<Double>();

      while(!sc.next().equals("in")){
        coefficients.add(coefficient);
        coefficient = sc.nextDouble();
      }

      x1 = sc.nextDouble();
      x2 = sc.nextDouble();
    }

  public static void main(String[] args){
    new Test().help();
  }
}
4

1 に答える 1

1

nextDoubleScannerフィールドではなくメソッドです。メソッドを呼び出す必要があります

coefficient = sc.nextDouble();
x1 = sc.nextDouble();
x2 = sc.nextDouble();
于 2013-09-22T14:58:22.583 に答える