字符串中查找空格的indexOf方法

9

字符串中有空格,但运行程序时返回-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(' '));
    }

}
5个回答

11

Scanner.next() 返回输入中的下一个标记,默认情况下,标记以空格分隔。即s保证不包含空格。

也许你想要用 String s = scan.nextLine();


6

对我来说,这完全正常运作。

System.out.println("one word".indexOf(' '));

这是因为Scanner的next方法。点击这里查看详情。

3

Scanner读取由空格分隔的文本,它可以是换行符,也可以是空格字符。这就是为什么scan.next()将返回一个没有空格的字符串。如果需要换行符,请使用scan.nextLine()


3

尝试

String s = scan.nextLine();

scan.next()获取下一个“单词”,该单词不能包含空格。


1
使用scan.nextLine(),因为scan.next()会一直读取直到遇到空格(制表符、空格、回车),所以它在看到空格时就停止获取。你可以通过打印s来自己猜测这一点!祝你成功!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接