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

Validate if input is not numeric (number)

我只是一个初学者。我正在尝试验证输入是否为数字而非字符串。我似乎无法得到正确的结果。总是假的。

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.

如果你想使用你的解决方案,你必须替换

if (false)

if (!containsOnlyNumbers(containsOnlyNumbers))

因为您没有调用您的方法(方法和字符串同名)。

你也可以这样试试,

  public static boolean numericCheck(String str)
  {

  try{
          double d=Double.parseDouble(str);

      }catch(NumberFormatException e)
       {
          return false;
       }

   return true;

}

if method return true 则输入是数字,if return false 输入不是数字