方法是未定义的错误

时间:2018-02-14 21:04:08

标签: java object methods

我正在尝试编写一个代码,该代码使用菜单调用同一文件夹中不同文件中的方法。

import java.util.Scanner;
public class BugTest {
   public static void main(String args[]) {
      Scanner input = new Scanner(System.in);
      System.out.println("==Bug Solution==");
      System.out.println("Enter the bug's intial position: ");
      int pos = input.nextInt();
      Bug bug = new Bug(pos);
      System.out.println("--Menu--");
      System.out.println("1) Change Directions");
      System.out.println("2) Move Bug");
      System.out.println("3) Exit");
      int menu = input.nextInt();
      while (menu != 3) {

         switch(menu) {
            case 1: turn();
            break;
            case 2: move();
            break;
            default: System.out.println("Invalid Response");
            break;
          }
         menu = input.nextInt();
       }


    }  
}

我在案例1和案例2中收到错误,说明类型BugTest的方法未定义。

1 个答案:

答案 0 :(得分:0)

main方法中,您应始终从给定的Object调用方法(假设它们不是static方法)。否则程序不知道它应该调用哪个object方法。例如,创建类Bug:

public class Bug{

   public Bug() {

  } 

  public void moveLeft() {
     // add code here
  } 

}   

然后在您的main方法中,通过创建类Bug的实例来调用该方法:

public static void main(String[] args) {

    Bug myBug = new Bug();

    myBug.moveLeft() ; // calls the method of the myBug object
}

在您的情况下,可以通过调用bug.turn()bug.move()而不仅仅是turn()move()来解决问题。