1

ボタンをクリックしたときに入力(テキストフィールド)が空の場合は、メッセージを出力する必要があります。入力の文字の 1 つが 'legal' リストの要素の 1 つと等しくない場合は、別のエラー メッセージを出力します。入力のすべての文字に問題がない場合は、それらをいくつかのリストに追加し、メッセージ msg を出力します

    String[] legal={"a", "b", "c", "d" ,"e" ,"f" ,"g" ,"h" ,"i" ,"j" ,"k" ,"l" ,"m" 
 ,"n","o","p","q","r","s","t","u","w","x","y","z","-","_"}; 

    if(e.getSource() == add){

        if (txt.getText().equals("")){

            content.removeAll();
            content.add(empty);           
            content.revalidate();

        }  
        String[] splited = txt.getText().toLowerCase().split("");
        for (int t=0;t<splited.length;t++) {
            for (int u=0;u<legal.length;u++){
                if(splited[t] != legal[u]){

                    content.removeAll();
                    content.add(check);
                    content.revalidate();
                }
                else if(splited[t].equals( legal[u])){

                    content.removeAll();
                    list.add(txt.getText());
                    content.add(msg);
                    content.revalidate();

                }
            }
        }
    }
4

2 に答える 2

4

ここで、UI を方程式から外してみましょう。

a が空かどうかをテストするにStringは、空であると見なすものに基づいて、いくつかのオプションがありますString。たとえば...

if (text == null || text.trim().isEmpty()) {...}

先頭と末尾のスペースが削除されたときに、String値が長さであるnullか長さであるオカレンスをキャッチします。0

に有効な文字セットが含まれているかどうかを確認するにStringは、API によって提供される正規表現機能を使用する方がはるかに簡単です。たとえば...

if (text.matches("[a-z\\-_]+")) {
    System.out.println("Matches");
}

azと ,_文字の間のすべての文字に一致します-。これはString、小文字でなければならないことを意味します ;)

于 2013-11-06T02:15:38.173 に答える