2016-06-29 6 views
0

印刷メソッドを呼び出すときにハッシュ値を生成しないようにコードを改善するにはどうすればよいですか?私はカード名の背後にある@ 2a ....などはハッシュ値であると考えています。Java出力が適切に印刷されない

run: 
[email protected] 
[email protected] 
[email protected] 
[email protected] 

My code: 
public class Card { 

    /** 
    * @param args the command line arguments 
    */ 
    static String[] rank = {"2","3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"}; 
    static String[] suit = {"Spades","Hearts", "Clubs", "Diamonds"}; 

    public Card(String r, String s) 
    { 


    } 

    public static void init(Card[] deck) 
    { 
     for(int x = 0; x<deck.length; x++) 
     { 
      Card newCard = new Card(rank[x%13], suit[x/13]); 
      deck[x] = newCard; 
     } 
    } 

    public static void swap(Card[] deck, int a, int b) 
    { 
     Card temp = deck[a]; 
     deck[a] = deck[b]; 
     deck[b] = temp; 
    } 

    public static void shuffle(Card[] deck) 
    { 
     Random rnd = new Random(); 
     for(int x = 0; x<deck.length; x++) 
     { 
      swap(deck, x, (rnd.nextInt(deck.length))); 
     } 
    } 

    public static void print(Card[] deck) 
    { 
     for(int x = 0; x<deck.length; x++) 
      System.out.println(deck[x]); 
    } 


    public static void main(String[] args) { 
     // TODO code application logic here 
     Card[] deck = new Card[52]; 
     init(deck); 
     print(deck); 
    } 

答えて

0

あなたのクラスカードのtoString()メソッドをオーバーライドする必要があります:私はそれらをプリントアウトするために私のメソッドを呼び出すとき

私のコードは次の出力を生成します。

public String toString() 
{ 
return "I want to print this"; 
} 
+0

あなたはもっとabitを詳しく説明できますか? – Aloysius

+1

この質問は@Tunakiによって重複として正しくマークされました。これは現在リンクされている質問は、より広範な説明が含まれています。その答えはいいですし、ここでそれを複製する必要はありません:-) –

関連する問題