Java 填充三维阵列

Java 填充三维阵列,java,arrays,3d,Java,Arrays,3d,我的问题是在最后一个方法“Printhands”中,我试图将值从名为hands的2d数组传递到名为Fourdeck的3d数组。我设法将第一维数组deckOfCard传递给二维数组手,但这种方法似乎对三维数组不起作用。而且我必须使用三维数组,别无选择 import java.util.Random; public class Decks { public static void main(String[] args) { int[] deckOfCard = new int[52];

我的问题是在最后一个方法“Printhands”中,我试图将值从名为hands的2d数组传递到名为Fourdeck的3d数组。我设法将第一维数组deckOfCard传递给二维数组手,但这种方法似乎对三维数组不起作用。而且我必须使用三维数组,别无选择

import java.util.Random;

public class Decks {

public static void main(String[] args) {

    int[] deckOfCard = new int[52];
    int[][] hands = new int[4][13];
     int [][][]fourDecks = new int[4][4][13];
    generateCard(deckOfCard);
    printCard(deckOfCard, 13, 5);
    deal(deckOfCard, hands);

}

public static void generateCard(int deckOfCard[]) {

    boolean[] check = new boolean[52];
    int all = 0;
    int ranNum;

    while (all < 52) {
        ranNum = (int) (Math.random() * 52);
        if (!check[ranNum]) {
            check[ranNum] = true;
            deckOfCard[all] = ranNum;
            all++;
        }
    }
}

public static void printCard(int deckOfCard[], int row, int space) {
    System.out.println("Print Card:");
    int num = 0;
    for (int print = 0; print < deckOfCard.length; print++) {
        String format = "%" + space + "s";
        System.out.printf(format, deckOfCard[print]);
        num++;
        if (num == row) {
            System.out.println();
            num = 0;
        }
    }
}

public static void deal(int deckOfCard[], int hands[][]) {
    System.out.println("DEAL:");
    int x = 0;
    for (int row = 0; row < hands.length; row++) {
        for (int col = 0; col < hands[row].length; col++) {
            if (x < deckOfCard.length) {
                hands[row][col] = deckOfCard[x];
                x++;

            }
        }
    }

    for (int i = 0; i < hands.length; i++) {
        for (int j = 0; j < hands[i].length; j++) {

            System.out.print(hands[i][j] + "  ");
        }
        System.out.println();
    }
}

public static void PrintHands(String fourDecks[][][], int hands[][] ) {

     String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
        String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "Jack", "Queen", "King"};


    for (int deck = 0; deck < fourDecks.length; deck++) {
        for (int row = 0; row < fourDecks[deck].length; row++) {
            for (int col = 0; col < fourDecks[deck][row].length; col++) {

                for(int z = 0; z < hands.length; z++){

                    for(int y = 0; y<hands[z].length;z++){

                        fourDecks[deck][row][col] = hands[z][y];
                    }
                }




            }
        }
    }
}}
import java.util.Random;
公务舱甲板{
公共静态void main(字符串[]args){
int[]deckOfCard=新int[52];
int[]hands=新int[4][13];
int[]fourdeck=新int[4][4][13];
generateCard(deckOfCard);
印刷卡(deckOfCard,13,5);
交易(deckOfCard,hands);
}
公共静态无效生成卡(int deckOfCard[]){
布尔[]检查=新布尔[52];
int all=0;
int ranNum;
而(全部<52){
ranNum=(int)(Math.random()*52);
如果(!检查[ranNum]){
检查[ranNum]=true;
deckOfCard[全部]=ranNum;
全部++;
}
}
}
公共静态无效打印卡(int deckOfCard[],int row,int space){
System.out.println(“打印卡:”);
int num=0;
对于(int print=0;print
fourDecks[deck][row][col] = hands[z][y];
您正在尝试将整数值分配给字符串

使用Integer.toString()或类似的东西这是逻辑错误

for(int z = 0; z < hands.length; z++){

                for(int y = 0; y<hands[z].length;z++){

                    fourDecks[deck][row][col] = hands[z][y];
                }
for(intz=0;z