0
我正在用Java编写一个二十一点程序,并且在学习使用内部类时遇到了一个问题。我试图实例化一个内部对象Blackjack
来调用内部类Card
的方法,但程序找不到Blackjack
类。我怎么能去修复这个:无法实例化自己内部的类
import java.util.Scanner;
import java.util.Deque;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
public class Blackjack {
int playerWins = 0, dealerWins = 0;
// Inner Class - private for encapsulation
private class Card {
private int suit;
private int value;
private Card(int suit, int value) {
this.suit = suit;
this.value = value;
}
private int getValue() {
return value;
}
private int getSuit() {
return suit;
}
}
public static void main(String[] args) {
Deque<Card> deck = new ArrayDeque<Card>();
Deque<Card> player = new ArrayDeque<Card>();
Deque<Card> dealer = new ArrayDeque<Card>();
Blackjack game = new Blackjack();
game.createDeck(deck); // Create deck
game.shuffle(deck);// Shuffle
game.play(deck,player,dealer);// Deal
}
...
试图编译时,我得到的错误:
Exception in thread "main" java.lang.ClassNotFoundException: Blackjack
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)
它*看起来像你没有关闭'''Blackjack'类的'}'。 – Bathsheba
请显示更多真实的代码。含。导入和类包含主要方法。 – dit
您是否将该类移动到了命名包,但没有创建新的运行配置? –