我只是个初学者。我试图验证输入是否是数字而不是字符串。我似乎无法得到正确的结果。它总是错误的。
import javax.swing.JOptionPane;
public class CheckDigit
{
public static void main(String[] args)
{
String containsOnlyNumbers;
containsOnlyNumbers = JOptionPane.showInputDialog("Please enter some numbers: ");
// System.out.println(containsOnlyNumbers("12345"));
// System.out.println(containsOnlyNumbers("12abc345"));
if (false)
{
JOptionPane.showMessageDialog(null, "False!");
}
else
{
JOptionPane.showMessageDialog(null, "True!");
}
}
public static boolean containsOnlyNumbers(String str)
{
for (int i = 0; i < str.length(); i++)
{
if (!Character.isDigit(str.charAt(i)))
return false;
}
return true;
}
}
请指教。 TIA。
答案 0 :(得分:1)
如果您想使用您的解决方案,则必须更换
if (false)
带
if (!containsOnlyNumbers(containsOnlyNumbers))
因为你没有调用你的方法(方法和字符串的名称相同)。
答案 1 :(得分:0)
您也可以尝试这样,
public static boolean numericCheck(String str)
{
try{
double d=Double.parseDouble(str);
}catch(NumberFormatException e)
{
return false;
}
return true;
}
如果method返回true,则input为数字,如果return false input不是数字