2017-04-02 15 views
1

これは私の最初の質問ですので、私は愚かに聞こえるかもしれませんので、気にしないでください!私はVaRの引数で、次のように私はプログラムを考え出すコンセプトに取り組んでいた :私はこのプログラムを実行しているときvar argsメソッドを使用してint型とint []をjavaに追加する方法は?

package Method; 
public class VariableArguments { 
public static void main(String[] args) { 
    m1(); 
    m1(10); 
    m1(10,20); 
    m1(10,20,30,40); 
    m1(10,20,30,40,50); 
} 
public static void m1(int... x) 
{ 
    int total = 0; 
    for(int i:x) 
    { 
     total = total + x; 
    } 
    System.out.println("Sum is: "+total); 
} 
} 

、私は

Error:(15, 27) java: bad operand types for binary operator '+'

first type: int second type: int[]

をIS-エラーを取得しました15行目に「演算子 '+'はint、int []には適用できません」

だから誰も私にこの問題の解決策を教えてもらえますか? ありがとうございます!

+2

'total = total + i;'あなたは 'x'配列を反復しています。 – Justas

+0

ありがとうJustas! –

答えて

1

var argsではなく、totali(各要素)を追加する必要があります。配列(すなわち、x)、ようにコードを変更:あなたがこれを行う場合は

total = total + i; 
+0

これは今働いています..ありがとうございますjavaguy :) –

0

total = total + x; 

xは配列です。配列の+演算子は使用できません。そのため、エラーが発生します。 あなたは、配列xを反復されているので、私はあなたがこれを望んでいた感知:

total = total + i; 
1

あなたは完全に互換性のないデータ型の演算操作をしようとしているため、エラーがある...あなたは、追加しようとして実際にあります両方が同じ型(int型)

あるので、あなたは

total = total + i; 

確かに意味int型

の配列を持つ整数

for(int i : x) // this means for every integer value *i* in array *x* 
{ 
     total = total + i ;// this line add the i to total , 
    //total = total + x ;//here array is bad operand for '+' operator . 
} 

:あなたはintの配列にintを追加している。この

total = total + x; 

を実行して、

...

1

避け愚かな過ちは、あなたがため、各方法を学ぶ必要があります上記のsnnipetでコードを変更するか、単純なforループを使用することもできます。

関連する問題