2011-09-26 2 views
2

사용자가 공백을 입력하면 "공백"을 인쇄 할 프로그램을 테스트하려고합니다. 하지만 내가 공간을 쳤을 때 아무 것도 표시되지 않습니다. 내 목표는 실제로 공간의 수를 계산했지만 나는 이것으로 시작하겠다. 도와주세요, 도움을 주셔서 감사합니다 여기 내 코드 가져 오기 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

는 내가 .. 아주 많이 도움을 –

1

기본적으로 스캐너는 줄 바꿈, 공백 및 탭이 포함 된 모든 공백을 무시합니다. 그러나, 당신은 쉽게 당신의 입력을 분할하는 방법을 변경할 수 있습니다 Enter 키를 때까지가 모든 공백 문자를 "읽기"않도록

scanner.useDelimiter("\\n"); 

이, 스캐너는 새로운 라인에서 문자열을 분할 할 것입니다. 구분 기호 here에 대한 맞춤 설정 옵션을 더 찾아보십시오.

+0

감사 감사의 BufferedReader를 사용하는 것을 잊었다 .. –

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"); 

} 

}