前提・実現したいこと
javaのプログラムにてトランプをランダムに取り出し、
1枚目のカードはハート3
1枚目のカードの数字は3
2枚目のカードは・・・
2枚目のカードの数字は・・・
のように記号、及び数字を取りだすプログラムを作りたいと思っています。
そのため、下記haihuメソッドの部分を
System.out.println("this.Deck.get(1)の記号部分"+this.Deck.get(1)の数字部分)のような感じで取り出したいと思っています。
どのようにプログラムを変更すればいいのかを教えていただけると幸いです。
発生している問題・エラーメッセージ
現在メインを実行するとCard@5c647e05のように表示されます。
該当のソースコード
Java
1ソースコード 2public class Main { 3 4 public static void main(String[] args) { 5 // TODO 自動生成されたメソッド・スタブ 6 7 Tranp a = new Tranp(); 8 a.Start(); 9 a.shuffle(); 10 a.haihu(); 11 } 12 13} 14//ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 15import java.util.ArrayList; 16import java.util.Collections; 17 18public class Tranp { 19 20 ArrayList<Card> Deck; 21 22 23 public void Start(){ 24 25 this.Deck = new ArrayList<Card>(); 26 27 String[] mark = {"ハート","クラブ","ダイヤ","スペード"}; 28 29 this.Deck.add(new Card(mark[0], 0)); 30 for (int i = 1; i < mark.length; i++) { 31 for (int j = 1; j <= 13; j++) { 32 this.Deck.add(new Card(mark[i], j)); 33 } 34 } 35 } 36 37 // カードシャッフル 38 void shuffle() { 39 Collections.shuffle(this.Deck); 40 } 41 42 void **haihu**() { 43 System.out.println(this.Deck.get(1)); 44 System.out.println(this.Deck.get(2)); 45 46 } 47 48} 49 50//ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 51 52public class Card { 53 54 55 static String Mark; 56 static int num; 57 58 public Card(String mark , int num){ 59 60 this.Mark = mark; 61 this.num = num; 62 63 } 64 65}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー