我把这段代码放在这里 - PlayingDeck
类。它没有完成,正如你所看到的,但是会发生的是,在第17行右边的for循环中,我收到一条错误消息,说明PlayingCard
声明和初始化不是一个声明。为什么这样?当我使用相同的语句将大括号添加到for循环时,错误消息消失。有人能解释为什么吗?我需要的只是两个括号,一个在开始处,另一个在for循环结尾......?for循环语法有什么问题?
谢谢
无法编译--------代码,编译
public class PlayingDeck {
static int numberOfCards;
static {
numberOfCards = 52;
}
PlayingCard[] playingDeckArray;
PlayingDeck() {
playingDeckArray = new PlayingCard[numberOfCards];
for (int currentCardNumber = 0; currentCardNumber > 51; currentCardNumber++)
PlayingCard currentCard = playingDeckArray[currentCardNumber];
}
public static void main(String[] args) {
}
}
代码-----
public class PlayingDeck {
static int numberOfCards;
static {
numberOfCards = 52;
}
PlayingCard[] playingDeckArray;
PlayingDeck() {
playingDeckArray = new PlayingCard[numberOfCards];
for (int currentCardNumber = 0; currentCardNumber > 51; currentCardNumber++){
PlayingCard currentCard = playingDeckArray[currentCardNumber];
}
}
public static void main(String[] args) {
}
}
它是公平地说,它有一个范围,但该范围是没用? – robbmj 2014-11-23 06:53:09
甚至将条件更改为'currentCardNumber
2014-11-23 06:53:43
我想这是有道理的,因为当我这样做循环时,一切都编译得很好: 'PlayingDeck(){ DeckArray = new PlayingCard [numOfSuits] [numOfRanks]; 对(INT currentSuitNumber = 1; currentSuitNumber <= numOfSuits; currentSuitNumber ++){ 对(INT currentRankNumber = 1; currentRankNumber <= numOfRanks; currentRankNumber ++) DeckArray [currentSuitNumber - 1] [currentRankNumber - 1] =新游戏牌(currentSuitNumber,currentRankNumber ); } }' 但是这里没有变量声明,所以我猜花括号是没有必要的。谢谢。 – nhooyr 2014-11-23 20:10:27