验证输入是否不是数字(数字)

时间:2015-08-11 08:19:38

标签: java joptionpane

我只是个初学者。我试图验证输入是否是数字而不是字符串。我似乎无法得到正确的结果。它总是错误的。

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。

2 个答案:

答案 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不是数字