java
1package com.rad_and_men.player; 2 3import com.rad_and_men.constraint.MessageConstraint; 4import com.rad_and_men.util.PropertiesUtil; 5 6public class Player implements MessageConstraint{ 7 private int turn; 8 private int count = 5; 9 private String name; 10 Object[] dice = new Object[3]; 11 12 public Player() { 13 14 } 15 16public void setDice(Object[] dice) { 17 this.dice = dice; 18 } 19 20 public Object[] getDice() { 21 return dice; 22 } 23} 24 25if (players[i].getTurn() == turnNo) { 26 Object dice[] = new Object[3]; 27 dice[0] = players[i].getDice(); 28 List<Object> diceList = Arrays.asList(dice); 29 for (int k = 0; k < diceList.size(); k++) { 30 Object one = diceList.get(k); 31 int oneDice = Integer.parseInt(one); 32 setBoardOne(one); 33 } 34// int one = diceList.getDice(); 35// int two = dice[1]; 36// int three = dice[2]; 37 disp.showBoardThree(); 38 setBoardOne(one); 39 setBoardTwo(two); 40 setBoardThree(three); 41 disp.showBoardThree(); 42 }
PlayerクラスのObject[] dice = new Object[3];を違うクラスで呼び出して、
dice のインデックス0番目をint oneに代入し、
インデックス1番目をint twoに代入し、
インデックス2番目をint threeに代入したいのですが、取得でらーが出てしまいます。
エラー
one を変数に解決できません
ダイスはObject型なのですが、Object型をint変数に代入する方法はありますでしょうか?
配列を取得し、インデックスでした値を取り出したいのですが、
どのように取得できるか教えていただきたいです。
修正
Java
1for (int i = 0; i < players.length; i++) { 2 turnNo = 0; 3 if (players[i].getTurn() == turnNo) { 4 Object dice[] = new Object[3]; 5 List<Object> diceList = Arrays.asList(dice); 6 disp.showBoardThree(); 7 for (int k = 0; k < diceList.size(); k++) { 8 int one = (int) diceList.get(k); 9 setBoardOne(one); 10 } 11 disp.showBoardThree(); 12 13 }
上記に変更後エラーは消えましたが、
実行したら、[Ljava.lang.Object;@6f496d9f
[Ljava.lang.Object;@723279cf
[Ljava.lang.Object;@10f87f48
と表示されてしまいました。
importの追加とArrays.toStringを設定してみましたら
List<Object> diceList = Arrays.toString(dice);
型の不一致とエラーが出てしまいました。
なにかいい解決方法はありますでしょうか?