2012-03-31 90 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來猜測這個! 會成功!

相關問題