2012-03-31 91 views
6

空间有字符串中的空间,但是当我运行程序时,它返回-1,这意味着有没有空格的字符串 在这里,是代码:的indexOf在字符串

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(' ')); 
    } 

} 

回答

7

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

也许你的意思是String s = scan.nextLine();

3

扫描仪读取由空格分隔的文本,可以是换行符,也可以是空格字符。这就是为什么scan.next()会返回一个没有空格的String。如果你需要换行,而应使用scan.nextLine()

3

尝试

String s = scan.nextLine(); 

为scan.next()获取下一个 “字”,它不能包含空格。

4

这完全适合我。

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

这是因为Scanner的下一个方法。 check this

1

使用scan.nextLine()因为scan.next()会读,直到遇到一个空格(制表符,空格,输入),所以它得到完成时,它看到的空间。你自己也可以通过打印s来猜测这个! 会成功!

相关问题