这可能是非常简单的事情,它会让我完全烦恼,但我确实被困住了。
我即将完成一项任务,但由于系统无法在此课程中找到任何符号,因此我称之为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张卡片,按不同的套装和等级排序。洗牌类是显而易见的,它需要能够洗牌建造的牌组。我已经为扑克牌制作了一套阵列。虽然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: 代码顶部的PlayCard可能是构造函数(我使用为分配设置代码的模板),请参阅新链接。
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;
}
}
}
我仍然在第一段代码中显示错误。
答案 0 :(得分:0)
我猜这些是错误:
错误3:PlayingCard类不是数组。卡是数组,更改
/*change this PlayingCard[i] = i */
/*to*/ cards[i] = i;
错误2:长度不是函数,而是变量。
/*change this PlayingCard.length(); */
/*to*/ cards.length;
再次从卡片中获取长度(您的阵列称为卡片,而不是PlayCard)
错误1:为什么函数内部有函数?你想在这做什么?
试试这段代码: -
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
for (int i = 0; i < cards.length; i++)
{
cards[i] = i;
}
}
public void shuffle()
{
for (int i = 0; i < 52; i++)
{
Random random = new Random();
int rand = random.nextInt(50)+1;
cards[i] = rand; // Error 3
}
}
@Override
public String toString()
{
}
}
PS:您的代码中存在多个问题。我建议你按照这里的一些教程 - http://codingbat.com/来理解语言基础知识。