1

このプログラムは、何も書き込まれていない場合、char の入力をループすることになっていますが、プログラムはコンパイルされず、char tegn=''; を受け入れません。char に対して何も書き込まれていないという条件のループを作成するにはどうすればよいですか?

import static javax.swing.JOptionPane.*;
       char tegn = '';
        do {
        tegn = showInputDialog("Input a char.").charAt(0);
        } while (tegn == '');

更新: ユーザーが何も書いていないか何かを書いているかどうかを判断するために String を使用して、Vishal K のコードからのアイデアでコードを解決しました。

    String tegn = ""; 
do { tegn = showInputDialog("Input a char."); 
} while (tegn.equals("")); 

char chartegn = tegn.charAt(0);
4

2 に答える 2

1

以下を試すことができます:

import static javax.swing.JOptionPane.*;
    String str = "";
    char tegn=' ';
    do {
     str = showInputDialog("Input a char.");
     if (str != null && !"".equalsIgnoreCase(str.trim()))
     {
       tegn = str.charAt(0);
     }
    }while(str!=null && !"".equalsIgnoreCase(str.trim())
于 2013-03-23T13:05:09.743 に答える
0

問題は、入力を求めるプロンプトが表示されたときに単に Enter キーを押すと、スペース (' ') ではなく文字リターンが送信されることです。

入力が中央のASCII値よりも小さいかどうかを確認することをお勧めします(スペースとすべての記号、および文字は12月32日から始まります)

すなわち。char 値を整数値に変換できます。(int ascii = (int) 文字)

これを使用して入力を検証します。

http://www.asciitable.com/

于 2013-03-23T12:33:03.480 に答える