提问人:ngngng 提问时间:10/8/2023 最后编辑:ngngng 更新时间:10/8/2023 访问量:74
扫描仪未到达最后一行
Scanner doesn't reach the last line
问:
我有以下代码:
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
int k = sc.nextInt();
String s = sc.next();
我得到像“2 0101010”这样的字符串作为输入,我想保存到变量和字符串,但扫描仪没有到达最后一行。我该如何解决?n
2
k
0101010
s
答:
0赞
Reilas
10/8/2023
#1
"...我得到
n
个字符串,例如“2 0101010”作为输入,我想将2
保存到变量k
并将0101010
保存到字符串s
,但扫描仪没有到达最后一行。我该如何解决?..."
代码似乎工作正常。
下面是一个类似的实现。
Scanner in = new Scanner(System.in);
int n = in.nextInt(), k;
String s;
while (n-- > 0) {
k = in.nextInt();
s = in.next();
}
0赞
VRashi
10/8/2023
#2
在代码中,sc 是 scanner 对象,第一个 int 值存储到变量 N 中,如果是 int,则传递的第二个值存储到变量 K 中,您必须再传递一个值给 s。
评论
0赞
Drachios
10/8/2023
#3
“我得到 n 个字符串,例如”2 0101010“,正如您所说,我假设您得到了 n 个字符串,其中单个字符串的形式为”2 0101010”。
在这种情况下,如果我是你,我会将整个 String 作为输入,然后对它执行字符串操作,然后将它们存储到 k 和 s 中。您可以使用 charAt 和子字符串来实现此目的。希望这有帮助!
评论
n
k
s
n