2011-03-01 4 views
4

안녕하세요, 나는 이것을 할 수 있어야하지만 나는 할 수 없어서 어리석은 느낌입니다. 나는 또한 그물과 나의 책에서 점검했다. 그리고 그런 간단한 일을 위해 아무것도 (또는 나는 그것을 볼 수있다) 없다. 내가 뭘하고 싶어하는 존재가 null, ... 그리고 /> < 같은 숫자 나 특수 문자를 포함하지 않는 입력 확인 대화 상자

  • 비어 있지

    1. 을 점검하십시오 JOptionPane.showInputDialog (있는 사용자

      입니다 .! "£의 $의 %^&는 *()

    2. 그들이 그것을 할 수 있도록 상자를 다시 보여주기 위해이 시험 중 하나를 실패 할 경우

    는, eurgh이 같은 간단한 일이지만, 난 그냥 수 없습니다 그것을 해결하십시오 : (

    제 어리 석음에 혐오감을 느끼십시오! 어떤 도움을 주셔서 감사합니다 사전 appericiated입니다!

  • 답변

    2

    입력 대화 상자를 표시하고 입력을 확인한 다음 입력이 정상적으로 반환되면 입력이 유효 할 때까지 프로세스를 반복하도록 호출하는 메소드가 있습니다. 이런 일 :

    private String showInputDialog() 
    { 
        String inputValue = JOptionPane.showInputDialog("Please input something"); 
    
        if(inputValue == null || inputValue.isEmpty() || !inputValue.matches("[A-Za-z]*")) 
        { 
         inputValue = showInputDialog(); 
        } 
    
        return inputValue; 
    } 
    

    !inputValue.matches("[A-Za-z]*")은 Z, 대소 문자 A 행의 수 이외의 입력을 트리거한다.

    그런 다음 코드에서 호출하고 반환 값으로 원하는대로 수행하십시오.

    String input = showInputDialog(); 
    System.out.println(input); 
    
    +0

    감사합니다. :) – James

    0

    설명대로하십시오. 대화 상자를 표시하고 결과를 확인하십시오. 유효하지 않으면 대화 상자를 다시 표시하십시오.

    do while 루프 또는 항상 비슷한 루프를 한 번 사용하려는 경우가 있습니다. 또한 정규 표현식을 사용하여 특수 문자가 없음을 검증해야합니다.

    +0

    내가 노력하고있어 네 ... \t \t 문자열 examinerName = ""; \t \t int a = 0; \t \t 동안의 (a = 1!) { \t \t \t 문자열 이름 = JOptionPane.showInputDialog (NULL, "무엇이 당신의 이름인가?", JOptionPane.QUESTION_MESSAGE를 "당신의 이름을 입력합니다"); \t \t \t 경우 (이름 == "") { \t \t \t \t 이름 = JOptionPane.showInputDialog (NULL, "무엇이 당신의 이름입니다", ","JOptionPane.QUESTION_MESSAGE 당신의 이름을 입력?); \t \t \t \t a = 0; \t \t \t} else { \t \t \t \t examinerName = name; \t \t \t \t a = 1; \t \t \t} \t \t} – James

    +1

    @ 제임스는 대신 주석 코드를 게시의, 코드 정확한 문제를 포함하는 질문을 편집 할 수 있습니다. – jzd