2011-09-28 7 views
0

MM/DD/YYYY 형식의 사용자로부터 날짜를 얻으려면 /을 사용하여 데이터를 입력하려고 시도하지만 사용자가 데이터를 입력하자 마자 응용 프로그램은 잇다. 간단히 표준 공백 구분 기호를 사용하면 어떻게 작동하는지 알 수 있습니다.스캐너 구분 기호로 슬래시를 사용하십시오

Scanner scanner = new Scanner(System.in); 
scanner.useDelimiter("/"); 

System.out.print("Birth Date (MM/DD/YYYY) "); 
birthMonth = scanner.nextInt(); 
birthDay = scanner.nextInt(); 
birthYear = scanner.nextInt(); 
+0

예외가 발생합니까? –

+0

그게 무슨 뜻입니까? –

+2

'/'를 구분 기호로 사용하는 경우, 연도 다음에'/'를 입력합니까? ;) –

답변

2

유일한 구분 기호는 / 개행이 아닙니다. 즉, 년 이후에 /을 입력하거나 줄 바꿈을 구분 기호로 추가해야합니다.

당신은 슬래시 새로운 라인 문자를 받아 들여야하거나 메시지가 사용자에게 컨트롤을 반환하지 않습니다

scanner.useDelimiter("[/\n]"); 
0

을보십시오.

import java.util.Scanner; 

public class Test { 

     public static void main(String[] args) { 

       Scanner scanner = new Scanner(System.in); 
       scanner.useDelimiter("[/\n]"); 

       System.out.print("Birth Date (MM/DD/YYYY) "); 
       int birthMonth = scanner.nextInt(); 
       int birthDay = scanner.nextInt(); 
       int birthYear = scanner.nextInt(); 
       scanner.close(); 

       System.out.printf("Day(%02d), Month(%02d), Year(%04d)%n", birthDay, birthMonth, birthYear); 
     } 
} 
+0

슬래시를 이스케이프 할 필요가 없습니다. –

+0

맞아, 롭. 감사. –

관련 문제