如果没有写入任何内容,该程序应该循环输入char,程序将无法编译,它不接受char tegn ='';。我如何创建一个循环,其中条件si没有为char写入任何内容?
import static javax.swing.JOptionPane.*;
char tegn = '';
do {
tegn = showInputDialog("Input a char.").charAt(0);
} while (tegn == '');
更新: 我用Vishal K代码中的一个想法解决了我的代码,使用String来判断用户是否写了什么东西:
String tegn = "";
do { tegn = showInputDialog("Input a char.");
} while (tegn.equals(""));
char chartegn = tegn.charAt(0);
答案 0 :(得分: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())
答案 1 :(得分:0)
问题是,如果您只是在输入提示输入字符时返回,而不是空格('')。
我建议检查输入是否小于中心ascii值(空格和每个符号,字符从DEC 32开始)
即。您可以将char值转换为整数值。 (int ascii =(int)character)
并使用它来验证您的输入。