Java 区分我桌子上的行
首先,我先解释一下我拥有什么,然后再解释一下我想做什么 目前,我的程序使用数组创建一副卡片(我不想要枚举)。然后,它将这些卡随机洗牌,并打印出一张7 X 7的表 我想做的是能够询问用户他们的卡在哪一行,然后翻转表格,使他们选择的行现在成为一列 如何区分这些行(如2d数组中的行),以便询问用户他们的卡在哪一行 和 如何翻转此表,使行成为列 以下是我目前的代码:Java 区分我桌子上的行,java,arrays,Java,Arrays,首先,我先解释一下我拥有什么,然后再解释一下我想做什么 目前,我的程序使用数组创建一副卡片(我不想要枚举)。然后,它将这些卡随机洗牌,并打印出一张7 X 7的表 我想做的是能够询问用户他们的卡在哪一行,然后翻转表格,使他们选择的行现在成为一列 如何区分这些行(如2d数组中的行),以便询问用户他们的卡在哪一行 和 如何翻转此表,使行成为列 以下是我目前的代码: public class Deck { private Card[] deck; private int currentC
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();
}
}
公共类甲板{
私人卡[]套;
个人信用卡;
字符串[][]多=新字符串[7][7];
公共甲板(){
字符串[]面={“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“T”、“J”、“Q”、“K”、“A”};
字符串[]={”♠", "♣", "♦", "♥" };
卡片组=新卡片[52];
当前卡=0;
对于(int suit=0;suit<4;suit++){
用于(int face=0;face<13;face++){
牌组[(脸+(西装*13))]=新卡(西装[西装],脸[脸]);
}
}
}
公开无效洗牌(){
当前卡=0;
SecureRandom randomNumber=新的SecureRandom();
for(int first=0;first
基本上,您可以继续将牌组中的牌存储在给定的数组中。要从数组位置映射到行和列,您可以使用例如/
(查找行)和%
(查找行中的列)操作符
关于翻转:考虑一种方法,比如实现的toString()
。让新方法有一个布尔转置
作为参数。根据值(真/假),您可以以一种或另一种(转置)方式打印卡片-保持模型不变
- 基本上,您可以继续将牌组中的牌存储在给定的数组中。要从数组位置映射到行和列,您可以使用例如
/
(查找行)和%
(查找行中的列)操作符
- 关于翻转:考虑一种方法,比如实现的
toString()
。让新方法有一个布尔转置
作为参数。根据值(真/假),您可以以一种或另一种(转置)方式打印卡片-保持模型不变
…问题是?您尝试执行的操作称为“转置”。可能已经有一些东西可以完成this@StefanFreitag问题是“我想做的是能够询问用户他们的卡在哪一行,然后翻转表格,使他们选择的行现在成为一列。“@j.seashell我认为你是对的。我会调查并试用它,我会让你知道它是否有效……问题是?你正在尝试的操作被称为“转置”。可能已经有一些东西可以做了this@StefanFreitag问题是“我想做的是能够询问用户他们的卡在哪一行,然后翻转表格,使他们选择的那一行现在成为一列。”@j.seashell我认为你是对的。我会去调查并尝试一下,我会让你知道它是否有效。