java - 在java、ADT卡应用程序中找不到符号

标签 java compiler-errors

我一直在尝试创建一个卡片应用程序来完成一次完美的洗牌。我在这段代码中遇到了上述错误。

  public class Deck {


private List<Card> cards;


private int size;//number of cards in deck


public Deck(String[] faces, String[] suits, int[] values){
   cards = new ArrayList<Card>();
   for(String suit: suits) 
       for(int value = 0; value < values.length; value++){
           Card a = new Card(faces[face], suit, values[face]);
           cards.add(a);
       }
   size = cards.size();

}//ends deck

更具体地说,这一行是关于face变量的。

               Card a = new Card(faces[face], suit, values[face]);

我在另一个类中创建了变量face,我已将其存储在名为Card的应用程序中。

public class Card {


private String suit;


private String face;


private int value;



public Card(String cardFace, String cardSuit, int cardValue){
    face = cardFace;
    suit = cardSuit;
    value = cardValue;
}//ends Card

public String suit(){

return suit;
}//ends suit

public String face(){

return face;
}//ends face

我确信这是一个简单的解决方法,只需朝正确的方向寻找一点即可,谢谢。

最佳答案

替换

for(int value = 0; value < values.length; value++){
   Card a = new Card(faces[face], suit, values[face]);
   cards.add(a);
}

for(int value = 0; value < values.length && value < faces.length; value++){
   Card a = new Card(faces[value], suit, values[value]);
   cards.add(a);
}

上面给出的代码已解决以下问题:

  1. 使用循环计数器,value 作为索引值。
  2. 检查 valuesfaces 数组的长度,因为这些数组中的值是使用循环计数器 value 访问的>.

关于java - 在java、ADT卡应用程序中找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59383045/

相关文章:

java - 在 Java 中查找字符索引的最佳方法是什么?

java - 无法通过 UI 从 AsyncTask 发回数据

java - 单击时禁用线程

C++ 错误 : no match for ‘operator-=’

opengl - 使用 ocamlbuild 构建 SDL 和 OpenGL 应用程序

c# - Java 比 C# 有什么优势吗?

java - 如何从android中的.txt文件中获取字符串

compiler-errors - Algorand智能合约TEAL模板示例的编译错误

python - ctype在代码中没有发现属性错误

c - 头文件中声明的函数错误 : conflicting types for function,