0

プログラムの入力には、n 個の double が含まれています。各 double を次のように保存します。a(n), where n = n++

このような:

input 6,57  4,56 1,23

次のように保存する必要があります。

a(0) = 6,57
a(1) = 4,56
a(2) = 1,23
etc.

これは私がやろうとしたことです:

double a;
int n = 0;

scanner = new Scanner(System.in);
a(n) = scanner.nextDouble();

while (scanner.hasNextDouble()) {
  a(n) = scanner.nextDouble();
  n++;
  break;
}

これはうまくいきません、何かアイデアはありますか?前もって感謝します。

4

2 に答える 2

0
  1. サイズについては事前にわからないのでList<Double>、配列の代わりに使用することをお勧めします。
  2. 数値はローカル形式 ( で区切られている,) であるため、NumberFormatclass を使用して Java 形式を取得します。
  3. 数値はスペースで区切られ、入力に 1 行で格納されるため、next()メソッドを使用します。
    このコードを試してください。

    List<Double> a = new ArrayList<Double>();
    scanner = new Scanner(System.in);        
    while (scanner.hasNext()) {
       String number  = scanner.next();
       NumberFormat numberFormat = NumberFormat.getInstance();
       a.add(numberFormat.parse(number).doubleValue());
    }
    
于 2013-09-21T14:08:04.767 に答える
0

配列を使用する必要があります。配列は固定サイズなので、事前に要素数を知っておく必要があります。

必要な配列サイズdouble[] a=new double[size]である配列を作成します。size

で配列の値を設定できるようになりましたa[n]=scanner.nextDouble();。からまでにnなることを覚えておいてください。この方法でも値を読み取ることができます。たとえば、`System.out.println(n[2]);0size-1

于 2013-09-21T13:49:05.837 に答える