1

ファイルに書き込もうとすると NullPointerException が発生します。

        RobocodeFileWriter fileWriter=new RobocodeFileWriter("test.txt");
        for (int i = 0; i < state.countstates; i++)
            for (int j = 0; j < state.countactions; j++)
                fileWriter.write((int) table[i][j]);
        }

例外:

java.lang.NullPointerException
    at net.sf.robocode.host.security.ThreadManager.createRobotFileStream(ThreadManager.java:136)
    at robocode.RobocodeFileOutputStream.<init>(RobocodeFileOutputStream.java:88)
    at robocode.RobocodeFileOutputStream.<init>(RobocodeFileOutputStream.java:69)
    at robocode.RobocodeFileWriter.<init>(RobocodeFileWriter.java:69)
    at QTable.saveData(QTable.java:79)
    at MyFirstRobot.saveToFile(MyFirstRobot.java:471)
    at MyFirstRobot.onDeath(MyFirstRobot.java:414)
    at robocode.DeathEvent.dispatch(DeathEvent.java:63)
    at robocode.Event$HiddenEventHelper.dispatch(Event.java:259)
    at net.sf.robocode.security.HiddenAccess.dispatch(HiddenAccess.java:191)
    at net.sf.robocode.host.events.EventManager.dispatch(EventManager.java:422)
    at net.sf.robocode.host.events.EventManager.processEvents(EventManager.java:376)
    at net.sf.robocode.host.proxies.BasicRobotProxy.executeImpl(BasicRobotProxy.java:412)
    at net.sf.robocode.host.proxies.BasicRobotProxy.execute(BasicRobotProxy.java:121)
    at robocode.AdvancedRobot.execute(AdvancedRobot.java:549)
    at MyFirstRobot.run(MyFirstRobot.java:68)
    at net.sf.robocode.host.proxies.HostingRobotProxy.callUserCode(HostingRobotProxy.java:274)
    at net.sf.robocode.host.proxies.HostingRobotProxy.run(HostingRobotProxy.java:221)
    at java.lang.Thread.run(Thread.java:695)

この例外は、-DNOSECURITY=true を渡してセキュリティ マネージャを無効にしても発生します。私のロボコード バージョンは 1.8.3.0 で、Mac で開発を行っています。どんな助けでも大歓迎です。

4

1 に答える 1