字符串中有一个空格,但是当我运行程序时,它返回-1,这意味着字符串中没有空格 这是代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
System.out.println(s.indexOf(' '));
}
}
答案 0 :(得分:9)
Scanner.next()
返回输入中的下一个标记,默认情况下,标记是以空格分隔的。即保证s
不包含空格。
也许你的意思是String s = scan.nextLine();
?
答案 1 :(得分:5)
答案 2 :(得分:3)
扫描程序读取由空格分隔的文本,该空格可以是换行符,也可以是空格字符。这就是scan.next()将返回没有空格的String的原因。如果您需要换行符,请使用scan.nextLine()
答案 3 :(得分:3)
尝试
String s = scan.nextLine();
as scan.next()获取下一个不能包含空格的“单词”。
答案 4 :(得分:1)
使用scan.nextLine()
,因为scan.next()
会在遇到空白区域(标签,空格,输入)时读取,以便在看到空格时完成。你自己也可以通过打印来猜测这个!
成功!