为什么我无法检查特定索引是否为数字?

时间:2014-04-14 20:07:35

标签: java

我有这个请求输入的程序。在索引值0,1,3和4 ...输入应该是一个数字。但是在编译时我遇到了错误。

Time.java:39: error: cannot find symbol
        else if (militaryTime.isDigit(militaryTime.charAt(0)))
                             ^
symbol:   method isDigit(char)
location: variable militaryTime of type String
Time.java:44: error: cannot find symbol
        else if (militaryTime.isDigit(militaryTime.charAt(1)))
                             ^
symbol:   method isDigit(char)
location: variable militaryTime of type String
Time.java:49: error: cannot find symbol
        else if (militaryTime.isDigit(militaryTime.charAt(3)))
                             ^
symbol:   method isDigit(char)
location: variable militaryTime of type String
Time.java:54: error: cannot find symbol
        else if (militaryTime.isDigit(militaryTime.charAt(4)))
                             ^
symbol:   method isDigit(char)
location: variable militaryTime of type String
4 errors

继承我的代码

//Check to make sure the colon is in
        //the correct spot
        if (militaryTime.charAt(2) != ':')
        {
            System.out.println(militaryTime +
                " is not a valid miliary time." );
        }
        //Check to make sure all other characters are digits
        else if (militaryTime.isDigit(militaryTime.charAt(0)))
        {
            System.out.println(militaryTime +
                " is not a valid miliary time." );
        }
        else if (militaryTime.isDigit(militaryTime.charAt(1)))
        {
            System.out.println(militaryTime +
                " is not a valid miliary time." );
        }

militaryTime是用户输入的字符串,这些决策结构正在设置验证所提供数据的条件。

1 个答案:

答案 0 :(得分:1)

isDigitCharacter中的静态方法,而不是String的实例方法。因此,不要使用s.isDigit(对于任何String s)调用它,而是将其称为Character.isDigit

    else if (Character.isDigit(militaryTime.charAt(0)))

等等。