-1
  class TapeDeck {

        boolean canRecord = false;

        void playTape() {
                System.out.println("Tape Player");
        }

        void recordTape() {
                System.out.println("Tape Recording");
        }
}

class TapeDeckTestDrive {
        public static void main (String [] args) {

                TapeDeck t = new TapeDeck();

                t.canRecord = true;
                t.playTape();

                if (t.canRecord == true) {
                        t.recordTape();
                }
        }
}

收到错误消息,“线程“main”中的异常 java.lang.NoSuchMethodError: main”

4

7 回答 7

3

TapeDeckTestDrive作为主类运行,而不是TapeDeck- 让你的类公开

于 2011-03-12T17:59:17.873 回答
2

使 TapeDeckTestDrive 成为一个公共类,如下所示:

 class TapeDeck {

    boolean canRecord = false;

    void playTape() {
            System.out.println("Tape Player");
    }

    void recordTape() {
            System.out.println("Tape Recording");
    }
}

public class TapeDeckTestDrive {
    public static void main (String [] args) {

            TapeDeck t = new TapeDeck();

            t.canRecord = true;
            t.playTape();

            if (t.canRecord == true) {
                    t.recordTape();
            }
    }
}

然后当你去运行它时,调用:

java TapeDeckTestDrive
于 2011-03-12T18:00:23.320 回答
1

也许是因为您的课程不公开。

于 2011-03-12T17:59:46.907 回答
0

您需要将其运行为:

java TapeDeckTestDrive

因为类TapeDeckTestDrivemain方法。

看起来您正在运行TapeDeck没有该main方法的类,因此出现错误。

于 2011-03-12T18:01:06.507 回答
0

TapeDeck.java

public class TapeDeck {

    boolean canRecord = false;

    void playTape() {
            System.out.println("Tape Player");
    }

    void recordTape() {
            System.out.println("Tape Recording");
    }
}

TapeDeckTestDrive.java

public class TapeDeckTestDrive {
    public static void main (String [] args) {

            TapeDeck t = new TapeDeck();

            t.canRecord = true;
            t.playTape();

            if (t.canRecord == true) {
                    t.recordTape();
            }
    }
}

并运行使用 >java TapeDeckTestDrive.java

于 2011-03-12T18:04:05.407 回答
0

最好用你的类制作 2 个文件,并公开具有 main 方法的类。但是,如果您喜欢上面带有 1 个文件的示例,请执行以下操作:

在命令行中,您可以:

javac FileWith2Classes  //compile make you 2 files with your classes
java TapeDeckTestDrive  //and simple run your class where you have main method
于 2011-03-12T18:25:17.000 回答
-1

公开你的主要课程

公共类 TapeDeckTestDrive { }

于 2011-08-19T10:25:53.450 回答