2011-03-01 17 views
4

こんにちは、私はそれを行うことができるはずですが、私はできません!私はネットと私の本をチェックしています。そのような単純なことについては何もありません(または私はそれを見ることができます)。私は何をしたいことは、本がnull、...そして/> <のような数字や特殊文字が含まれていない 入力の確認ダイアログボックス

  • 空白でない

    1. をチェックJOptionPane.showInputDialog(を持つユーザー

      です。! "£$%^ & *()

    彼らはそれをしなければならないので、それが再表示さボックスにこれらのテストのいずれかに失敗した場合、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、大文字または小文字の文字の任意の数以外の入力にトリガします。

    あなたのコードから、あなたはそれを呼び出して、戻り値で何をしたいかを行います。

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

    パーフェルトありがとうございました! :) – James

    0

    あなたの説明どおりです。ダイアログを表示し、結果を確認します。有効でない場合は、ダイアログを再度表示してください。

    do whileループなどを使用して、常に1回ループするようにしたい場合があります。また、特殊文字が存在しないことを検証する正規表現を使用することもできます。

    +0

    私がしようとしているいや... \t \t文字列examinerName = ""; \t \t int a = 0; \t \tしばらく(= 1!){ \t \t \t文字列名= JOptionPane.showInputDialog(ヌル、 "あなたの名前は何ですか?"、 "あなたの名前を入力します"、JOptionPane.QUESTION_MESSAGE)。 \t \t \t(名前== "")であれば{ \t \t \t \t名= JOptionPane.showInputDialog(ヌル、 "何があなたの名前である"、 "" あなたの名前を入力し、JOptionPane.QUESTION_MESSAGE?)。 \t \t \t \t a = 0;他 \t \t \t} { \t \t \t \t examinerName =名。 \t \t \t \t a = 1; \t \t \t \t \t} – James

    +1

    @Jamesでは、コメントにコードを投稿するのではなく、あなたの問題をあなたのコードに含めるように編集してください。 – jzd

    関連する問題