使用空char作为循环条件,程序在应该循环时结束

时间:2013-03-23 12:20:26

标签: java

  

如果没有写入任何内容,该程序应该循环输入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);

2 个答案:

答案 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)

并使用它来验证您的输入。

http://www.asciitable.com/