【问题标题】:Print out a set of integers from args with the output: The numbers are 1, 2, 3, 4, 5从 args 中打印出一组整数并输出: 数字是 1, 2, 3, 4, 5
【发布时间】:2011-08-10 12:08:19
【问题描述】:
如何在 args 数组中打印出一组整数。 我打算输出:数字是 1、2、3、4、5
System.out.println("The numbers are ");
for(int i=0; i< args.length;i++)
System.out.print(args[i] + " ";
编译器给我一个错误 “我无法解析为变量” 当我用 "int b = 0;" 解析它时,它给了我一个整数,而不是 args 中的整数
【问题讨论】:
标签:
java
arrays
variables
integer
args
【解决方案1】:
从 Java 5 开始,您也可以完全跳过 i:
for( String arg : args )
System.out.print(arg + " ");
此外,我想提倡使用花括号,即使是单语句块。
通过添加语句(如一些日志语句)更易于阅读且不太可能更改行为。
例如,一个幼稚的pow() 方法(为简单起见跳过了检查):
原始码:
int pow(int base, int power) { //assume power to be > 1
int result = base;
for( int i = 1; i <= power; i++ )
result *= base;
return result;
}
现在我想在每个步骤中记录结果:
int pow(int base, int power) { //assume power to be > 1
int result = base;
for( int i = 1; i <= power; i++ )
System.out.println( base + " pow( " + i + ") = " + result );
result *= base;
return result;
}
突然,power > 2 得到了错误的结果,因为现在 result *= base; 只执行一次(它现在在循环之外)。
【解决方案2】:
如果这是您的实际代码,那么您在分号前的最后一行中缺少一个结束括号。
这对我有用:
public class tester {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("The numbers are ");
for (int i = 0; i < args.length; i++)
System.out.print(args[i] + " ");
}
}
输出(当 cmd 行指定 1 2 3 4 5 时):
The numbers are
1 2 3 4 5
【解决方案3】:
忘记括号了?
System.out.print(args[i] + " ");
【解决方案4】:
您忘记使用 ); 关闭您的 println 方法。
你的问题:
System.out.print(args[i] + " ";
您的解决方案:
System.out.print(args[i] + " ");