这是我的代码:
for (int i = 0; i < s1.length(); i++) {
if (!Character.isDigit(s1.charAt(i)))
if (!(s1.charAt(i) == '.'))
{
JOptionPane.showMessageDialog(null, "You must enter a number");
System.exit(0);
}
此代码检测除数字或&#34;之外的所有字符。&#34;。 如果它检测到任何其他角色,它会告诉你&#34;你必须输入一个号码&#34;然后关闭。
现在我的问题是:
如果我写了两个小数点,如2.2.3,它将无法检测到错误。
我的第二个问题:
如何让我的程序检测三个小数位并显示一条消息。
答案 0 :(得分:2)
不要重新发明轮子 - Double
已经可以为你做到这一点:
String s1 = <some input number>;
try {
Double.parseDouble(s1);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "You must enter a number");
System.exit(0);
}