У меня здесь есть эта часть кода - класс PlayingDeck
. Это не сделано, как вы видите, но происходит то, что в строке 17 «Прямо в цикле for» появляется сообщение об ошибке с сообщением PlayingCard
, а инициализация не является выражением. Почему так? Когда я добавляю фигурные скобки в цикл 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
Или даже измените условие на 'currentCardNumber
Я думаю, это имеет смысл, потому что, когда я делаю это для цикла, все компилируется просто отлично: '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