0

早些时候,我在一个类中添加了一些功能:

public class ScoreScreen extends BasicGameState 
{
    public ScoreScreen(Level level)
    {
        //do initializing
        //A few example lines of code
        hasWon = level.getWon();
        score = level.getScore(); 
    }

    //The method I added
    public void saveScores(String levelNumber)
    {
        BufferedReader reader;
        try
        {
            reader = new BufferedReader(new FileReader("data/monsters/scores.txt"));

            String line;
            int lineCounter = 0;

            ArrayList<String> scores = new ArrayList<String>();

            while ((line = reader.readLine()) != null)
            {
                scores.add(lineCounter, levelNumber + totalScore + medal);
                lineCounter++;
            }

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

代码几乎没有完成,但那里没有错误。

添加这个小部分后,我的构造函数将不再接受它的参数。如果我尝试初始化类:

        //'this' is a Level
        game.addState(new ScoreScreen(this));

我收到一条错误消息

将构造函数“ScoreScreen(Level)”更改为“ScoreScreen(Level)”。

这很奇怪。我让 Eclipse 做它的事情来更正代码,但是 Eclipse 没有改变任何东西,而且代码仍然无法工作。

ScoreScreen 的构造函数中的代码也返回如下错误:

未定义类型级别的方法“getWon()”。将演员表添加到“级别”

起初我认为这可能是 Eclipse 中的一个错误,所以我重新启动了我的电脑并重新启动了 Eclipse,但它没有帮助。在另一台计算机上打开项目也不行。

编辑:乔恩斯基特正在做某事。我将类名从 更改LevelTest,现在没有错误了。唯一的问题是我找不到名为Level.

4

2 回答 2

1

这是因为在您的项目中有不止一个Level类。

要查找问题,只需查看班级中 Level 的导入语句。
与您期望的相同级别的课程吗?
如果没有在你的类中删除错误的导入Level,然后导入正确的一个。

于 2013-05-07T07:19:39.920 回答
1

在某些 IDE 中,当它们像 try/catch 一样自动为您添加代码时,它们还会添加一条日志记录语句。在该课程中,他们还为日志记录添加了导入,例如 - 正如您在此期间发现的 -java.util.logging.Level 在我的 IDE 中,我编辑了模板以添加我们公司的日志记录工具。

于 2013-05-07T07:54:44.703 回答