Java 创建卡片类时遇到问题
我无法将r[rank]转换为字符串。Eclipse一直说它需要解析为一个数组。卡[13*i+j]也有问题=新卡(i,j);它只是不断地说不能解析为变量。这是我的密码Java 创建卡片类时遇到问题,java,Java,我无法将r[rank]转换为字符串。Eclipse一直说它需要解析为一个数组。卡[13*i+j]也有问题=新卡(i,j);它只是不断地说不能解析为变量。这是我的密码 public class Card { private String suit; private String rank; private static String[] s = { "hearts", "spades", "diamonds", "clubs" }; private static
public class Card {
private String suit;
private String rank;
private static String[] s = { "hearts", "spades", "diamonds", "clubs" };
private static String[] r = { "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King" };
public Card(int suit, int deck){
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 13; j++){
Cards[13*i + j] = new Card(i, j);
}
}
}
public Card(String r, String s, String suit){
for(int rank = 0; rank < r.length(); rank+=1){
if( rank.equals(r[rank]) ){
this.rank = r+1;
}
}
this.suit = suit;
}
public String getSuit(){
return suit;
}
public void setSuit(String a, String suit) {
this.suit = suit;
}
public String getRank(){
return rank;
}
public void setRank( String s, String rank){
this.rank= rank;
}
public String toString(){
return String.valueOf(this.getRank()) + String.valueOf(this.getSuit().charAt(0));
}
}
公共类卡{
私服;
私有字符串秩;
私有静态字符串[]s={“红心”、“黑桃”、“钻石”、“梅花”};
私有静态字符串[]r={“Ace”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“Jack”、“Queen”、“King”};
公共卡(内部套装、内部套牌){
对于(int i=0;i<4;i++){
对于(int j=0;j<13;j++){
卡片[13*i+j]=新卡片(i,j);
}
}
}
公共卡(r串、s串、西服串){
对于(int-rank=0;rank
公务舱甲板{
private Card[] deck;
private int inDeck;
private final int SIZE_OF_DECK = 52;
private int currentCard;
public Deck(){
deck = new Card[deck];
}
private void init(){
}
public void shuffle(int num){
int i,j,k;
for (k = 0; k < num; k++)
{
i = (int) (SIZE_OF_DECK * Math.random()*100);
j = (int) (SIZE_OF_DECK * Math.random()*100);
Card tmp = deck[i];
deck[i] = deck[j];
deck[j] = tmp;
}
currentCard = 0;
}
public Card getCard(){
if (currentCard<SIZE_OF_DECK)
{
return deck[currentCard++];
}
else
{
System.out.print("out of cards error");
return null;
}
}
public int totalCards(){
return SIZE_OF_DECK ;}
私人卡[]组;
英德克私人酒店;
甲板的私人最终整型尺寸=52;
个人信用卡;
公共甲板(){
卡片组=新卡片[卡片组];
}
私有void init(){
}
公共无效洗牌(整数){
int i,j,k;
对于(k=0;k 如果(currentCard您从未初始化您的卡阵列…请在使用循环创建每个单独的对象之前尝试类似的操作
Card[] cards = new Card[52];
是的,我不知道该怎么做只要让你的卡片[]成为这个类固有的全局变量,你就应该没事了。@dasblinkenlight同意,但他说他需要帮助来处理cards[13*I+j]=新卡片(I,j)
这将促使他进行修复。我还有这个程序,它将由我的教授测试课进行测试。我把它贴在了上面。谢谢你们,我真的很感谢你们的帮助。