Java 如何逐行扫描输入整数?
我们想写一个程序来解两个Java 如何逐行扫描输入整数?,java,input,Java,Input,我们想写一个程序来解两个“Ax2+Bx+C=0”形式的方程 当方程的系数Ax2+Bx+C=0时,每个方程输入一行,它可能如下所示: 2 3 // linear equation when the coefficient for the term x2 is zero 4 5 6 // quadratic equation nextInt()不会告诉我们4是第一行的第三个数字还是第二行的第一个数字。也就是说,下面的输入将返回完全相同的信息 2 3 4
“Ax2+Bx+C=0”
形式的方程
当方程的系数Ax2+Bx+C=0时,每个方程输入一行,它可能如下所示:
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
也没有区别
那么我如何逐行扫描这些系数呢?使用Scanner的nextLine()
一次获取每一行,然后使用String#split(“”)
以正确的顺序获取各个标记。通过获取返回数组的长度,您可以很容易地找出存在多少令牌。当然,您需要解析通过Integer.parseInt(…)
返回的令牌字符串,使用Scanner的nextLine()
一次获取每一行,然后使用String#split(“”
以正确的顺序获取各个令牌。通过获取返回数组的长度,您可以很容易地找出存在多少令牌。当然,您需要解析通过Integer.parseInt(…)
-使用Scanner的nextLine()
方法返回的令牌字符串
例如:
Scanner scan = new Scanner(System.in);
String l = scan.nextLine();
-使用带“”(空格)的split()作为delimeter来获取每个值
String[] arr = l.split(" ");
-使用Integer.parseInt()
将其转换回int
ArrayList<Integer> aList = ArrayList<Integer>();
for (String s : arr){
aList.add(Integer.parseInt(s));
}
ArrayList aList=ArrayList();
用于(字符串s:arr){
aList.add(Integer.parseInt);
}
-使用扫描仪的nextLine()
方法
例如:
Scanner scan = new Scanner(System.in);
String l = scan.nextLine();
-使用带“”(空格)的split()作为delimeter来获取每个值
String[] arr = l.split(" ");
-使用Integer.parseInt()
将其转换回int
ArrayList<Integer> aList = ArrayList<Integer>();
for (String s : arr){
aList.add(Integer.parseInt(s));
}
ArrayList aList=ArrayList();
用于(字符串s:arr){
aList.add(Integer.parseInt);
}
或者您可以在该字符串上使用扫描仪too@Thikan:是的,是的!在使用完每个扫描器后,一定要关闭它,以免耗尽资源。多谢大家,我认为最优雅的方法是在字符串上使用扫描器,这将更容易!或者你可以用扫描器扫描那根线too@Thikan:是的,是的!在使用完每个扫描器后,一定要关闭它,以免耗尽资源。多谢大家,我认为最优雅的方法是在字符串上使用扫描器,这将更容易!