尝试命令行参数时,以下代码中的错误是什么?我在第System.out.println(args[i]);
行
public class CommandLA{
public static void main(String []args)
{
int s = 0;
for(int i=0;i<args.length;i++)
System.out.println(args[i]);
s = s + Integer.parseInt(args[i]);
System.out.println("Sum is : "+s);
}
}
答案 0 :(得分:2)
也许
public static void main(String []args)
{
int s = 0;
for (String str : args) {
s = s + Integer.parseInt(str);
}
System.out.println("Sum is : "+s);
}
或使用索引
public static void main(String []args)
{
int s = 0;
for (int i = 0; i < args.length; i++) {
s = s + Integer.parseInt(args[i]);
}
System.out.println("Sum is : "+s);
}
答案 1 :(得分:1)
简单:
for(int i=0;i<args.length;i++)
System.out.println(args[i]);
接着是
s = s + Integer.parseInt(args[i]);
但是 - 你在循环之后错过了 {!因此,i存在的范围(可见)只是之后的直接&#34; for-loop&#34;线!
换句话说,你需要(..){所有使用我的东西}!
答案 2 :(得分:0)
详细说明GhostCat的答案:
for(int i=0;i<args.length;i++)
System.out.println(args[i]);
s = s + Integer.parseInt(args[i]);
与
相同for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
s = s + Integer.parseInt(args[i]);
这意味着在最后一行中,我不知道,导致错误。
我想知道为什么之前在该行检测到错误,因为在此之前,代码在技术上是正确的。
那就是说,我建议在任何情况下使用括号。有些人省略了它们以获得更短的代码,但这意味着如果稍后添加一行,他很容易犯错误。当然,这是个人偏好。