Не удается найти символ

1

Просматривая мой код вверх и вниз, я не понимаю, почему javac выдает "Не могу найти символ". Я aleready просмотрел некоторые вопросы в Stackoverflow. Я понимаю, что это имеет какое-то отношение к сфере видимости, но все же я, как кровавый новичок, не могу решить эту проблему.

Пожалуйста помоги. спасибо

package final1.classes;
import final1.classes.GameManager;

public final class ConnectFour {

    private ConnectFour() {

    }

    private static int playerCount = 0;


/**
 * The main method where the number of players is extracted from the
 * arguments array
 * 
 * @param args
 *            String: Here used as the number of players
 */
    public static void main(String[] args) {

        if (args.length == 0) {

            System.out.println("Please insert a number of players as argument");
            System.exit(0);

        }
        try {
            setPlayerCount(Integer.parseInt(args[0]));

        } catch (IllegalArgumentException ilae) {

            System.out.println("Wrong input! The right input is a digit between 0 and 2");
            System.exit(0);
        }

        if (getPlayerCount() < 0 || getPlayerCount() > 2) {

            System.out.println("Wrong number of players! You have to put in a digit between 0 and 2");

            System.exit(0);

        } else {    

            final1.classes.GameManager game = new final1.classes.GameManager(getPlayerCount());
            game.update();
        }

    }
/**
 * Returns the playerCount
 * @return the playerCount
 */
    public static int getPlayerCount() {
        return playerCount;
    }

/**
 * Sets playerCount to the parameter playerCount
 * @param playerCount the playerCount to set
 */
    public static void setPlayerCount(int playerCount) {
        ConnectFour.playerCount = playerCount;
    }


}

Stacktrace:

C:\Users\Dennis\Dropbox\workspaceNero\Abschlussaufgabe1\src\final1\classes>javac
 ConnectFour.java
ConnectFour.java:2: error: cannot find symbol
import final1.classes.GameManager;
                     ^
  symbol:   class GameManager
  location: package final1.classes
ConnectFour.java:53: error: cannot find symbol
            final1.classes.GameManager game = new final1.classes.GameManager(get
PlayerCount());
                          ^
  symbol:   class GameManager
  location: package final1.classes
ConnectFour.java:53: error: cannot find symbol
            final1.classes.GameManager game = new final1.classes.GameManager(get
PlayerCount());
                                                                ^
  symbol:   class GameManager
  location: package final1.classes
3 errors

Stacktrace of GameManager:

C:\Users\Dennis\Dropbox\workspaceNero\Abschlussaufgabe1\src\final1\classes>javac
 GameManager.java
GameManager.java:5: error: package final1.algorithm does not exist
import final1.algorithm.AlphaBetaAlgorithm;
                       ^
GameManager.java:6: error: package final1.algorithm does not exist
import final1.algorithm.Game;
                       ^
GameManager.java:7: error: package final1.algorithm does not exist
import final1.algorithm.GameState;
                       ^
GameManager.java:8: error: package final1.algorithm does not exist
import final1.algorithm.Move;
                       ^
GameManager.java:9: error: package final1.algorithm does not exist
import final1.algorithm.Terminal;
                       ^
GameManager.java:17: error: cannot find symbol
public class GameManager implements Game<Move> {
                                    ^
  symbol: class Game
GameManager.java:17: error: cannot find symbol
public class GameManager implements Game<Move> {
                                         ^
  symbol: class Move
GameManager.java:21: error: cannot find symbol
    private static GameState gameState;
                   ^
  symbol:   class GameState
  location: class GameManager
GameManager.java:39: error: cannot find symbol
    private GameField gf;
            ^
  symbol:   class GameField
  location: class GameManager
GameManager.java:155: error: cannot find symbol
    public List<Move> getValidMoves() {
                ^
  symbol:   class Move
  location: class GameManager
GameManager.java:177: error: cannot find symbol
    public void perform(Move move) {
                        ^
  symbol:   class Move
  location: class GameManager
GameManager.java:210: error: cannot find symbol
    public Move nextTurn() {
           ^
  symbol:   class Move
  location: class GameManager
GameManager.java:221: error: cannot find symbol
    public GameState getState() {
           ^
  symbol:   class GameState
  location: class GameManager
GameManager.java:230: error: cannot find symbol
    public static GameState getGameState() {
                  ^
  symbol:   class GameState
  location: class GameManager
GameManager.java:240: error: cannot find symbol
    public static void setGameState(GameState gameState) {
                                    ^
  symbol:   class GameState
  location: class GameManager
GameManager.java:50: error: cannot find symbol
        this.gameState = GameState.PLAYING;
                         ^
  symbol:   variable GameState
  location: class GameManager
GameManager.java:51: error: cannot find symbol
        gf = new GameField(6, 7);
                 ^
  symbol:   class GameField
  location: class GameManager
GameManager.java:62: error: cannot find symbol
        while (gameState == GameState.PLAYING) {
                            ^
  symbol:   variable GameState
  location: class GameManager
GameManager.java:65: error: cannot find symbol
            Terminal.prompt("Player " + String.valueOf(player) + ":");
            ^
  symbol:   variable Terminal
  location: class GameManager
GameManager.java:75: error: cannot find symbol
                    int column = Integer.parseInt(Terminal.readln());
                                                  ^
  symbol:   variable Terminal
  location: class GameManager
GameManager.java:78: error: cannot find symbol
                        Terminal.println("Please insert a number between 0 and 6
");
                        ^
  symbol:   variable Terminal
  location: class GameManager
GameManager.java:81: error: cannot find symbol
                        this.perform(new ConnectFourMove(column, player));
                                         ^
  symbol:   class ConnectFourMove
  location: class GameManager
GameManager.java:86: error: cannot find symbol
                            Terminal.println("Column" + column
                            ^
  symbol:   variable Terminal
  location: class GameManager
GameManager.java:94: error: cannot find symbol
                    Terminal.println("Please insert a number between 0 and 6");
                    ^
  symbol:   variable Terminal
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(
                ^
  symbol:   class AlphaBetaAlgorithm
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(
                                   ^
  symbol:   class Game
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(
                                        ^
  symbol:   class Move
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(
                                               ^
  symbol:   class Move
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(
                                                                 ^
  symbol:   class AlphaBetaAlgorithm
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(

    ^
  symbol:   class Game
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(

         ^
  symbol:   class Move
  location: class GameManager
GameManager.java:99: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> alpha = new AlphaBetaAlgori
thm<Game<Move>, Move>(

                ^
  symbol:   class Move
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(
                ^
  symbol:   class AlphaBetaAlgorithm
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(
                                   ^
  symbol:   class Game
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(
                                        ^
  symbol:   class Move
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(
                                               ^
  symbol:   class Move
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(
                                                                ^
  symbol:   class AlphaBetaAlgorithm
  location: class GameManager
GameManager.java:101: error: cannot find symbol
                AlphaBetaAlgorithm<Game<Move>, Move> beta = new AlphaBetaAlgorit
hm<Game<Move>, Move>(

так

Теги:
scope
compiler-construction
symbol

2 ответа

0

Эти классы являются родовыми классами, и они должны оставаться в пакете "final1.algorithm", а класс Terminal должен быть в пакете final1. Вам не разрешается ничего менять в них даже не (имя пакета), потому что когда вы загружаете свою программу на сайт, она автоматически добавляет эти классы, чтобы вы не вносили никаких изменений в них, и, конечно, потому что у них больше скрытых тестов, которые там реализованы.

Вы можете поместить свои собственные письменные классы в пакет final1 или в любые другие подпакеты, которые вы хотите, но не забывайте правильно импортировать все.

0
$ javac ConnectFour.java 
ConnectFour.java:2: error: cannot find symbol
import final1.classes.GameManager;
                     ^
  symbol:   class GameManager
  location: package final1.classes
ConnectFour.java:49: error: cannot find symbol
        final1.classes.GameManager game = new final1.classes.GameManager(getPlayerCount());
                      ^
  symbol:   class GameManager
  location: package final1.classes
ConnectFour.java:49: error: cannot find symbol
        final1.classes.GameManager game = new final1.classes.GameManager(getPlayerCount());
                                                            ^
  symbol:   class GameManager
  location: package final1.classes

У вас есть все файлы *.java которые вам нужны? , Кажется, что есть недостающие классы. Помните, что GameManager также необходим.

  • 0
    Я так думаю .. они в разных пакетах, но это не должно быть проблемой, верно?
  • 0
    В начале вы утверждаете, что они находятся в одной упаковке.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню