2011-09-26 61 views
2

我试图测试一个程序,如果用户输入一个空格将打印“空间”。 但是当我点击空间时显示nothings,然后输入。我的目标是真正计算空间的数量,但我想我只是从这开始。帮助我的家伙,感谢您的任何帮助 这里是我的代码 import java.util.Scanner;比较字符与单个空间java

public class The 
    { 
     public static void main(String args[])throws Exception 
     { 
      Scanner scanner = new Scanner(System.in); 
      String input; 
      System.out.println("Enter string input: "); 
      input = scanner.next(); 
      char[] charArray; 
      charArray = input.toCharArray(); 

      for(char c : charArray) 
      { 
        if(c == ' ') 
        { 
        System.out.println("space"); 
        } 
        else 
        { 
        System.out.println(" not space"); 
        } 
      } 
     } 
    } 

回答

1

Scanner默认情况下忽略空格。使用BufferedReader来读取输入。

+0

我忘了使用的BufferedReader,非常感谢你.. –

1

默认情况下,扫描程序将忽略所有包含新行,空格和制表符的空白。然而,你可以很容易地改变它是如何将您的输入:

scanner.useDelimiter("\\n"); 

这会让你的扫描仪只能在新线分割字符串,所以直到你按下输入它会“读”所有的空格字符了。查找分隔符here的更多自定义选项。

+0

感谢您的帮助.. –

0

公共类CountSpace {

public static void main(String[] args) throws IOException { 

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
    String word=null; 
    System.out.println("Enter string input: "); 
    word = br.readLine(); 
    String data[] ; 
    int k=0; 
    data=word.split(""); 
    for(int i=0;i<data.length;i++){ 
     if(data[i].equals(" ")) 
     k++; 
    } 
    if(k!=0)   
    System.out.println(k); 
    else 
     System.out.println("not have space"); 

} 

}