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

Copypastad错误的方法最初 - _ - 我有这样一类此错误编译内:为什么我得到这个错误与我的for循环?

data_structures/ExpressionEvaluator.java:40:类型的非法启动(INT I = 0, i < 10,i ++){

+0

你应该可能显示你的实际循环。我看不出有什么问题。 – Austin

+0

错误是无法指出你粘贴在这里的代码。更多的代码可能有帮助 – kosa

+0

为什么当它不相关时发布该代码? – alex

回答

3

使用分号而不是逗号。

for(int i = 0; i < 10; i++) { 
    //do stuff 
} 
+0

当我写这些时,我的头脑中有错误的语言。被标记为移除“愚蠢”。谢谢 –

2

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

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

我建议阅读Language Basics

+0

这不会编译。 – Vulcan

+0

@Vulcan。现在应该。 – kosa

0

分号分隔的品质for循环。此外,if块的条件必须用圆括号包围。

public boolean isNumber(String t) { 
    for (int i = 0; i <= 9; i++) { 
     if (t.equals(i)) { 
      return true; 
     } 
    } 
    return false; 
} 
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 
    } 
0

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

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

如果你真的想创建自己的方法,将字符串传递PARAM,我建议你修改如下:

public boolean isDigit(String t) { 
    return t.length() == 1 && Character.isDigit(t.charAt(0)); 
}