1

"Ax2+Bx+C=0"2 つの形式方程式を解くプログラムを書きたいと思います。

方程式の係数が方程式Ax2+Bx+C=0ごとに 1 行で入力されると、次のようになります。

2   3       // linear equation when the coefficient for the term x2 is zero

4   5   6   // quadratic equation

nextInt() は、4 が最初の行の 3 番目の数字なのか、2 行目の最初の数字なのかを教えてくれません。つまり、以下の入力はまったく同じ情報を返します。

2   3   4    // quadratic equation

5   6          // linear equation

両方の入力も2 3 4 5 6nextInt()の場合と変わりません

では、これらの係数を 1 行ずつスキャンするにはどうすればよいでしょうか。

4

2 に答える 2

4

Scanner's で一度に各行を取得してからnextLine()、 を使用String#split(" ")して個々のトークンを適切な順序で取得します。返された配列の長さを取得することで、存在するトークンの数を簡単に見つけることができます。もちろん、 経由で返されたトークン文字列を解析する必要がありますInteger.parseInt(...)

于 2012-08-30T03:22:38.420 に答える
0

-nextLine()スキャナーの使用方法。

例えば:

Scanner scan = new Scanner(System.in);

String l = scan.nextLine();

-すべての値を取得するには、区切り文字として ""(スペース)を指定してsplit()を使用します。

String[] arr = l.split(" ");

-を使用して、intInteger.parseInt()に変換し直します。

ArrayList<Integer> aList = ArrayList<Integer>();

for (String s : arr){

     aList.add(Integer.parseInt(s));

}
于 2012-08-30T04:26:43.513 に答える