2016-03-21 3 views
0

次のように私が持っているコードは次のとおりです。を返し、Javaの機能を通じてのInt変数を渡すことはできませんint配列

int diceAmount = sInput.nextInt(); 
int[] dice = dice.rollDice(diceAmount); 

Dice.javaクラスはここにある:

public static int[] rollDice(int diceAmount) { 
     int[] dice = new int[diceAmount]; 
     for(int i=0;i < diceAmount;i++){ 
      dice[i] = (int)(Math.random()*6) + 1; 
     } 
     return dice; 
    } 

エラー "配列型int []"でrollDice(int)を呼び出せません。

私は整数変数を渡して、返す配列を自分自身のダイス変数に設定することを検討しています。

私がdice.rollDice(diceAmount)を設定しないと動作します。何かに等しいが、それは私が望むものではない。

ありがとうございます。

+2

s/dice.rollDice/Dice.rollDice/ – rgettman

+0

オブジェクトの配列ではなくメソッドを呼び出そうとすると、javaにrollDiceメソッドの呼び出しを呼び出す方法を呼び出すことができます。 –

答えて

2
int[] dice = Dice.rollDice(diceAmount); 
      ^
+0

これはうまくいきました、ありがとうございます。 –

1

オブジェクトの名前がDiceの場合は、diceと整数配列のためです。したがって、コンパイラは整数配列のrollDiceを呼び出すことを推論します。正しい関数呼び出しが

int diceAmount = sInput.nextInt(); 

int[] dice = Dice.rollDice(diceAmount); 

は問題があなたのオブジェクト名や配列名の両方が同じthatsの理由

あったことに注意してくださいする必要がありますのでサイコロとしてクラス名を考慮

Dice dice = new Dice(); 
int diceAmount = sInput.nextInt(); 
int[] diceArray = dice.rollDice(diceAmount); 
1

コンパイラがエラーを出していました。

+0

これもうまくいきました。 –

+0

ようこそ。 –

関連する問題