1

我们想编写一个程序来求解两个"Ax2+Bx+C=0"形式方程。

当方程的系数在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 是第一行的第三个数字还是第二行的第一个数字。也就是说,下面的输入将返回完全相同的信息。

2   3   4    // quadratic equation

5   6          // linear equation

两个输入也与2 3 4 5 6for nextInt()没有什么不同

那么如何逐行扫描这些系数呢?

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(" ");

-使用 将Integer.parseInt()其转换回 int

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

for (String s : arr){

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

}
于 2012-08-30T04:26:43.513 回答