1

メイン クラスからメソッドを呼び出そうとすると、別のクラスにあるメソッドにアクセスする際に問題が発生します。これが方法です

class RobotData
{
    private int junctionRecorder(IRobot robot)
    {
        int[] juncX;
        int[] juncY;
        int[] arrived;
        int[] junctions;
        int i = 0;
    i = junctions[0];
    juncX[i] = robot.getLocationX();
    juncY[i] = robot.getLocationY();
    arrived[i] = robot.getHeading();
    junctions[0]++;
    return i;
    }
}

メインクラスでそれを呼び出そうとすると、

public class Test
{
    public void controlRobot(IRobot robot)
    {
    int recordjunction = junctionRecorder(robot);
        //... 

このエラーが発生します

Test.java:7: cannot find symbol
symbol  : method junctionRecorder

誰でも助けることができますか?

4

1 に答える 1

1

メソッドを呼び出すには、オブジェクトのインスタンスを作成する必要があります (静的でない場合)。

public class Test
{
  public void controlRobot(IRobot robot)
  {
    RobotData rd = new RobotData();
    int recordjunction = rd.junctionRecorder(robot);
    //... 

または、次のようなもの(これをやりたかったと思います):

public class Test
{
  public void controlRobot(IRobot robot)
  {
    int recordjunction = robot.junctionRecorder(robot);
    //... 

ただし、この場合、クラスRobotDataはインターフェイスを実装する必要がありますIRobot

class RobotData implements IRobot

そして方法junctionRecorderprivate、あなたが作らなければなりませんpublic

とにかく、まず基礎 (オブジェクト、インスタンス、それらの作成など) について読んで、それを理解していることを確認する必要があると思います。

于 2012-12-06T12:52:15.693 に答える