Нет основного метода, но есть главный?
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"
7 ответов
Бежать с TapeDeckTestDrive
как основной класс, а не TapeDeck
- и сделайте ваш класс публичным
Сделайте 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
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
Вам нужно запустить его как:
java TapeDeckTestDrive
как класс TapeDeckTestDrive
имеет main
метод.
Похоже, вы управляете TapeDeck
класс, который не имеет main
Метод, следовательно, ошибка.
Лучше сделайте 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
Сделайте ваш основной класс публичным
открытый класс TapeDeckTestDrive { }