2011-08-10 10 views
0

args配列に整数のセットを出力するにはどうしたらいいですか? 私はの出力を持っているつもり:数字は1、2、3、4、5argsから1組の整数を出力に出力します。数字は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の整数ではなく、単一の整数を返します

答えて

3

あなたも完全iをスキップすることができます。

さらに
for(String arg : args) 
    System.out.print(arg + " "); 

を、私は提唱したいのですが1つのステートメントブロックに対しても中括弧を使用します。 文を追加することで(一部のログ文のように)読みやすく、動作を変更する可能性は低くなります。

例、ナイーブpow()方法(チェックを簡単にするためにスキップ):

のorignalコード:

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;が1回だけ実行されます(今はループの外にあります)。

3

これが実際のコードであれば、セミコロンの前の最後の行に最後の括弧がありません。

これが私の作品:(1 2 3 4 5は、CMDラインで指定されている)

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] + " "); 
    } 

} 

出力:

The numbers are 
1 2 3 4 5 
2

は括弧を忘れましたか?

System.out.print(args[i] + " ");
1

あなたは);であなたのprintln方法を閉じるのを忘れていました。

あなたの問題:

System.out.print(args[i] + " "; 

あなたの解決策:Javaの5のよう

System.out.print(args[i] + " "); 
関連する問題