我新建了一个判断输入的是否为数值的类。代码如下:
class Check {
private String str;
public Check() {
}
public Check(String str) {
this.str = str;
}
public boolean isDigital(String str) {
for (int i = 0; i < str.length(); i++) {
if (Character.isDigit(str.charAt(i)))
return true;
else
return false;
}
}
}
编译时报错,说没有返回类型。我已经return了,不知道怎么回事!
请老师帮忙看一下,谢谢!!
这是一种很常见的简单错误,因为你把return写在循环语句的条件判断语句中,计算机会认识这种return有可能不被执行,强行报错,你可以简单修改为:
public boolean isDigital(String str)
{
for (int i = 0; i < str.length(); i++)
{
if (Character.isDigit(str.charAt(i)))
return true;
else
return false;
}
return true;
}
我添加的那个“return true;”其实永远不会被执行,所以不会始终返回为真的,更好的写法为:
public boolean isDigital(String str)
{
for (int i = 0; i < str.length(); i++)
{
if (Character.isDigit(str.charAt(i)))
return true;
}
return false;
}