2016-11-09 5 views
1

まず最初に、自分が何を持っているのかを説明し、次に何をしようとしているのかを説明します。テーブル内の行を区別する

現在、私のプログラムは配列を使ってカードのデッキを作成しています(私はenumを必要としません)。次に、カードをランダムな順番にシャッフルし、7枚のX 7枚のカードの表をプリントします。

私がしたいのは、自分のカードがどの行にあるのかをユーザに聞かせてから、選択した行が現在の列になるようにテーブルを反転することです。私はその後、彼らのカードは と 行に列

なるように、どのように私は、この表を反転んです何行をユーザーに尋ねることができるように、私は(2次元配列のように)行を区別するにはどうすればよい

ここ

は、これまでの私のコードです:

public class Deck { 
    private Card[] deck; 
    private int currentCard; 
    String[][] multi = new String[7][7]; 

    public Deck() { 
     String[] Faces = { "2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K", "A" }; 
     String[] Suits = { "♠", "♣", "♦", "♥" }; 

     deck = new Card[52]; 
     currentCard = 0; 

     for (int suit = 0; suit < 4; suit++) { 
      for (int face = 0; face < 13; face++) { 

       deck[(face + (suit * 13))] = new Card(Suits[suit], Faces[face]); 
      } 
     } 
    } 

    public void shuffle() { 
     currentCard = 0; 

     SecureRandom randomNumber = new SecureRandom(); 

     for (int first = 0; first < deck.length; first++) { 
      int second = randomNumber.nextInt(52); 

      Card temp = deck[first]; 

      deck[first] = deck[second]; 
      deck[second] = temp; 
     } 
    } 

    @Override 
    public String toString() { 
     String s = ""; 
     int k; 
     k = 0; 
     for (int i = 0; i < 7; i++) { 
      for (int j = 1; j <= 7; j++) 
       System.out.print(deck[k++] + " "); 
      System.out.println(""); 
     } 
     return (s); 
    } 

    public static void main(String[] args) { 
     Deck theDeck = new Deck(); 
     theDeck.shuffle(); 
     theDeck.toString(); 

    } 
} 
+0

...と問題/質問はありますか? –

+1

あなたがしようとしている操作は "転置"と呼ばれています。これを行うことができるいくつかのものが既にそこに構築されているかもしれない。 –

+1

@StefanFreitag問題/質問は「私がしたいのは、自分のカードがどの行にあるかをユーザに尋ねることができ、彼らが選ばれたのは今やコラムだ」 –

答えて

0
  • 基本的にはあなたが指定した配列内のデッキのカードを保存するために続けることができます。配列の位置から行と列にマッピングするには、例えば、次のように使用できます。 /(行を検索する)と%(行の列を検索する)演算子。
  • フリッピングについて:実装されたtoString()のような方法を考えてください。新しいメソッドにパラメータとしてboolean transposedがあるとします。値(true/false)に応じて、カードを一方または他方の(転置された)方法で印刷して、モデルをそのままにしておくことができます。
関連する問題