javaのプログラムにて配列を生成し乱数を代入するクラスを作成し、その配列を別クラスで参照したいと思っています。
その別クラスではGraphicsで乱数に応じて違う図形を描写したいと思っています。
不勉強で申し訳ないのですが、配列を別クラスに引き渡すのはこの方法しか知らないのでどうしても解決方法が分かりません。
発生している問題・エラーメッセージ
dicedrawクラスに配列を渡したいのですが、そのクラスにてGraphicsを宣言しているため実引数リストと仮引数リストの長さが異なります。
yacht.java:177: エラー: クラス dicedrawのメソッド drawは指定された型に適用できません。 d.draw(dice); ^ 期待値: Graphics,int[] 検出値: int[] 理由: 実引数リストと仮引数リストの長さが異なります エラー1個
該当のソースコード
java
1class dicedraw extends Canvas{ 2 ・ 3 ・ 4 public void draw(Graphics gc,int dice[]){ 5 for(int i=0; i<5 ;i++){ 6 if(dice[i] == 1) {draw0(gc,i);} 7 else if(dice[i] == 2) {draw1(gc,i);} 8 else if(dice[i] == 3) {draw2(gc,i);} 9 else if(dice[i] == 4) {draw3(gc,i);} 10 else if(dice[i] == 5) {draw4(gc,i);} 11 else if(dice[i] == 6) {draw5(gc,i);} 12 } 13 14 15
java
1class diceroll{ 2 int dice[] = new int[5]; 3 dicedraw d =new dicedraw(); 4 public void roll(int keycode) { 5 6 if(keycode == KeyEvent.VK_SPACE) { 7 for(int i=0; i<5; i++) { 8 dice[i]=((int) (Math.random() * 6)) +1; 9 } 10 11 } 12 d.draw(dice); 13 14 15
試したこと
インスタンス生成を行ってdicedrawクラスに配列を渡しましたが、これだとd.draw(dice)側に期待値としてGraphicsが必要となってしまいます
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/02 08:42
2020/08/03 03:03