我有这个请求输入的程序。在索引值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是用户输入的字符串,这些决策结构正在设置验证所提供数据的条件。
答案 0 :(得分:1)
isDigit
是Character
中的静态方法,而不是String
的实例方法。因此,不要使用s.isDigit
(对于任何String
s
)调用它,而是将其称为Character.isDigit
:
else if (Character.isDigit(militaryTime.charAt(0)))
等等。