【发布时间】:2015-02-21 20:08:52
【问题描述】:
这可能是一件非常简单的事情,它会让我完全恼火,但我承认我被卡住了。
我即将完成一项作业,但由于系统无法找到此类(称为 Pack 类)中的任何符号,我陷入了死胡同。我确实有一个单独的类叫做 PlayingCard 类,它非常完整,但我现在需要这个类和一个单独的测试人员来完成任务。
这是代码,然后我将解释我想用它做什么。
import java.util.Random;
public class Pack
{
PlayingCard[] cards = new PlayingCard[52];
public Pack()
{
// Setting up array
String[] suits = {"SPADES", "CLUBS", "HEARTS", "DIAMONDS"};
String[] ranks = {"TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "TEN", "JACK", "QUEEN", "KING", "ACE"};
// Intialising array
Pack() // Error 1
{
for (int i = 0; i < PlayingCard.length(); i++) // Error 2
{
PlayingCard[i] = i; // Error 3
}
}
}
public void shuffle()
{
for (int i = 0; i < 52; i++)
{
Random random = new Random();
int rand = random.nextInt(50)+1;
PlayingCard[i] = rand; // Error 3
}
}
@Override
public String toString()
{
}
}
这很像纸牌游戏课程。我有一个名为 Pack 的方法,我需要在其中构建一个包含 52 张按不同花色和等级排序的卡片的 Pack。 shuffle 类是显而易见的,它需要能够对已构建的牌组进行洗牌。我已经为扑克牌制作了一组数组。虽然PlayingCard[] cards = new PlayingCard[52] 是专门插入到分配模板中的。
现在,问题是 NetBeans 系统无法找到 Pack、PlayingCard 和 length() 的符号,即使 PlayingCard 是同一包中的单独类的一部分,并且 Pack 已经是该类的一部分。
那么,我在这里做错了什么?
编辑: 我得到的错误是这样的:
cannot find symbol
symbol: method Pack()
location: class Pack
; expected
cannot find symbol
symbol: method length()
location: class PlayingCard()
cannot find symbol
location: variable PlayingCard
location: class Pack
这些将在上面的代码中按顺序表示为 1、2、3。
编辑 2: 代码顶部的 PlayingCard 可能是一个构造函数(我正在使用为赋值指定的模板来设置代码),请参阅新链接。
public class Pack
{
PlayingCard[] cards;
public Pack()
{
this.cards = new PlayingCard[52];
// Setting up array
String[] suits = {"SPADES", "CLUBS", "HEARTS", "DIAMONDS"};
String[] ranks = {"TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN",
"EIGHT", "NINE", "TEN", "JACK", "QUEEN", "KING", "ACE"};
// Intialising array
Pack()
{
for (int i = 0; i < PlayingCard.length(); i++)
{
PlayingCard[i] = i;
}
}
}
我仍然收到第一个代码块中显示的错误。
【问题讨论】:
-
如果 PlayingCard 是类型名称,则不能对其使用索引:
PlayingCard[i]。 -
洗牌数组
PlayingCards[] cards,即一副纸牌,不是通过将随机整数分配给扑克牌来完成的,因为扑克牌是扑克牌,整数是整数,所以无论如何都是不允许的。 -
当您询问编译错误时,请务必发布准确完整的错误消息,并说明它指的是哪一行代码。
-
@laune 我可能看起来像个白痴,但我不认为我跟随,你是说我实际上不能使用
PlayingCard[] cards并且需要设置不同的数组或根本不需要?另外,PlayingCard其实就是同一个包中的一个类的名字。 -
我会发现错误信息挂了。