JAVAutil。扫描程序无法从java中的控制台获取输入
我是Java新手,在从控制台获取输入时面临问题
这是我的密码:
import java.util.*;
class solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
System.out.println(t);
for (int n = 0; n < t; n++) {
for (int i=0;i<4;i++){
int mzeroes = sc.nextInt();
int nones = sc.nextInt();
int stringLength = sc.nextInt();
String string=sc.nextLine();
System.out.println(mzeroes);
System.out.println(nones);
System.out.println(stringLength);
System.out.println(string);
}
}
}
}
输入:
2
2 2 8 11101000
3 4 16 0110111000011111
错误:
Exception in thread "main" java.util.InputMismatchException: For input string: "0110111000011111"
at java.util.Scanner.nextInt(Scanner.java:2123)
at java.util.Scanner.nextInt(Scanner.java:2076)
at solution.main(solution.java:13)
# 1 楼答案
我尝试了相同的代码,但没有错误,它成功地执行了。我认为你在输入信息时犯了错误。这就是输入的方式:
由于第一个输入是两个,因此它将在循环中请求两个输入,然后当您传递循环的第一个输入时,它将依次打印出三个整数,并在末尾打印出剩余的字符串。循环的第二个输入也是如此
注意:
String string = sc.nextLine();
将为您提供字符串,因此最后一个数字之前的空格也将在string
中希望这有帮助