1

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

问题是,如果您只是在提示输入时按回车键,您发送的是字符返回而不是空格('')。

我建议检查输入是否小于中心 ascii 值(空格和每个符号,字符从 DEC 32 开始)

IE。您可以将您的 char 值转换为整数值。(int ascii = (int) 字符)

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

http://www.asciitable.com/

于 2013-03-23T12:33:03.480 回答