我们想编写一个程序来解决两个"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
对于nextInt()
,两个输入也与2 3 4 5 6
没有区别
那么如何逐行扫描这些系数呢?
答案 0 :(得分:4)
使用扫描程序的nextLine()
一次获取每一行,然后使用String#split(" ")
以正确的顺序获取各个令牌。通过获取返回的数组长度,您可以轻松找出有多少令牌。您当然需要解析通过Integer.parseInt(...)
返回的令牌字符串。
答案 1 :(得分: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));
}