2016-12-31 3 views
-2

私のコードでは、自分のメソッドPlayGame()humandealerの変数をDealCards()から作られたそれぞれの文字列に割り当てる方法が見つかりません。カードゲームの問題

私はjavacを実行するたびに、私は、彼らが法DealCards()dealerOther、アレイ内の別の文字列であるので、私はしかし、このことを理解していないエラーString[] cannot be converted to String.を取得します。誰かがこの問題について私に助けてください。

import java.util.Random; 

public class GAME_8315085 { 
static Random rand = new Random(); 

public static String[] MakeDeck() { 
    String[] deck=new String[51]; 
    int k=0; 
    String[] suits={"\u2660", "\u2661", "\u2662", "\u2663"}; 
    String[] ranks={"2","3","4","5","6","7","8","9","10","J","Q","K","A"}; 
    for (int i=0;i<suits.length;i++) { 
     for (int j=0;j<ranks.length;j++) { 
      if (suits[i].equals("\u2663") && ranks[j].equals("Q")) { 
       ; 
      } 
      else { 
       deck[k]=ranks[j]+suits[i]; 
       k++; 
      } 
     } 
    } 
    return deck; 
} 

public static void ShuffleDeck(String[] deck) { 
    for (int i=0;i<deck.length;i++) { 
     int random = rand.nextInt(deck.length); 
     String tmp=deck[i]; 
     deck[i] = deck[random]; 
     deck[random]=tmp; 
    } 
} 

public static String[][] DealCards(String[] deck) { 
    String[][] dealerOther = new String[2][26]; 
    int j=0; 
    for (int i=0; i<=deck.length;i+=2) { 
     dealerOther[0][j]=deck[i]; 
     j++; 
    } 
    j=0; 
    for (int i=1; i<deck.length;i+=2) { 
     dealerOther[1][j]=deck[i]; 
     j++; 
    } 
    return dealerOther; 
} 

public static void PlayGame() { 
    String[] deck = MakeDeck(); 
    ShuffleDeck(deck); 
    String[][] tmp=DealCards(deck); 
    String human=tmp[0]; 
    String dealer=tmp[1]; 
} 

public static void main(String[] args) { 
    PlayGame(); 
} 

}

答えて

2

問題tmpは、文字列の配列の配列(2-Dアレイの一種)であるので、humandealerは、文字列の配列である必要があり、ここで

String[][] tmp=DealCards(deck); 
String human=tmp[0]; 
String dealer=tmp[1]; 

あります。

String[][] tmp=DealCards(deck); 
String[] human=tmp[0]; 
String[] dealer=tmp[1]; 
に変更し、それを
関連する問題