0
public boolean isNumber(String t) {
    for (int i = 0, i<= 9, i++) {
        if t.equals(i) {
                return true;
        }
    }
    return false;
}

Copypastad 最初是错误的方法 - _ - 我在一个编译这个错误的类中有这个:

data_structures/ExpressionEvaluator.java:40: for (int i = 0, i< 10, i++) {

4

5 回答 5

3

使用分号代替逗号。

for(int i = 0; i < 10; i++) {
    //do stuff
}
于 2012-10-16T03:34:37.313 回答
2

您应该使用分号,并且if应该用括号括起来。

public boolean isNumber(String t) {
    for (int i = 0; i <= 9; i++) {
        if (t.equals(i)) {
                return true;
        }
    }
    return false;
}

我建议阅读 语言基础

于 2012-10-16T03:35:50.923 回答
0

您的方法仅验证您传递的字符串是否是数字,而不是数字(数字可以有多个数字)。您只能使用 char 并调用 , 来验证它Character.isDigit

char c = '1';
boolean isDigit = Character.isDigit(c);

如果你真的想创建自己的方法,传递一个字符串参数,我建议你这样修改:

public boolean isDigit(String t) {
    return t.length() == 1 && Character.isDigit(t.charAt(0));
}
于 2012-10-16T04:14:54.843 回答
0

分号分隔 for 循环的质量。此外,您的 if 块的条件必须用括号括起来。

public boolean isNumber(String t) {
    for (int i = 0; i <= 9; i++) {
        if (t.equals(i)) {
            return true;
        }
    }
    return false;
}
于 2012-10-16T03:36:28.313 回答
0
public boolean isNumber(String t) {
    for (int i = 0; i<= 9; i++) {
        if( t.equals(i) ){
                return true;
        }
    }
    return false;
}

1. 利用 ”;” 替换“,”

2.

if(boolean) {
        //do stuff
     }
于 2012-10-16T03:48:40.620 回答