2015-11-09 5 views
0

Проблема заключается в следующем. Я делаю домашнее задание для онлайн-сайта программирования под названием «myprogramminglab». Он просит меня выполнить следующие упражнения:Ошибка Java: не удалось найти или загрузить основной класс undefined

Design a class named Person with fields for holding a person's name , address, and telephone number (all as Strings). Write a constructor that initializes all of these values, and mutator and accessor methods for every field.

Next, design a class named Customer, which inherits from the Person class . The Customer class should have a String field for the customer number and a boolean field indicating whether the customer wishes to be on a mailing list. Write a constructor that initializes these values and the appropriate mutator and accessor methods for the class 's fields.

Demonstrate the Customer class in a program that prompts the user to enter values for the customer's name, address, phone number, and customer number, and then asks the user whether or not the customer wants to receive mail. Use this information to create a customer object and then print its information.

Put all of your classes in the same file. To do this, do not declare them public.

Instead, simply write:

class Person { ... } 
class Customer { ... } 

Однако, я сделал программу сначала в Eclipse. Я помещаю каждый класс в отдельный файл, как обычно. После этого я переместил каждый класс на сайт, где я должен его загрузить. Я удалил ключевое слово «public» в соответствии с проблемой, поэтому я могу загрузить его. Когда я это делаю, это не дает мне результата. Как будто он даже не запускает программу. Он компилируется, но он ничего не делает. Я проверил онлайн Java компилятор и следующее приглашение:

Ошибка: Не удалось найти или загрузить основной класс неопределенную

Что может быть ошибка и как я должен это исправить?

Вот мой код:

import java.util.Scanner; 
class Person { 

    private String name; 
    private String address; 
    private String number; 

    public Person(String name, String address, String number) { 
     super(); 
     this.name = name; 
     this.address = address; 
     this.number = number; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 

    public String getNumber() { 
     return number; 
    } 

    public void setNumber(String number) { 
     this.number = number; 
    } 

} 


class Customer extends Person { 

    private String num; 
    private boolean wants; 

     // TODO Auto-generated constructor stub 
    public Customer(String name, String address, String number, String num, boolean wants) { 
     super(name, address, number); 
     this.num = num; 
     this.wants = wants; 
    } 

    public String getNum() { 
     return num; 
    } 

    public void setNum(String num) { 
     this.num = num; 
    } 

    public boolean isWants() { 
     return wants; 
    } 

    public void setWants(boolean wants) { 
     this.wants = wants; 
    } 

} 


class demo { 

    public static void main(String[] args) { 

     String name, address, number; 
     String num; 
     String decide; 
     boolean wants; 

     Scanner get = new Scanner(System.in); 

     System.out.println("Enter name of customer: "); 
     name = get.nextLine(); 
     System.out.println("Enter address of customer: "); 
     address = get.nextLine(); 
     System.out.println("Enter phone number of customer: "); 
     number = get.nextLine(); 
     System.out.println("Enter customer number: "); 
     num = get.nextLine(); 
     System.out.println("Enter yes/no -- does the customer want to recieve·mail?: "); 
     decide = get.nextLine(); 
     if (decide.equals("yes")) 
      wants = true; 
     else 
      wants = false; 

     Customer one = new Customer(name, address, number, num, wants); 
     System.out.println("Customer: "); 
     System.out.println("Name: " + one.getName()); 
     System.out.println("Address: " + one.getAddress()); 
     System.out.println("Phone Number: " + one.getNumber()); 
     System.out.println("Receive Mail?: " + one.isWants()); 
    } 
} 
+0

Запустите свой класс 'demo'. Обратите внимание, что соглашения о присвоении имен Java имеют начало класса с большой буквы. –

+0

http://stackoverflow.com/questions/10356854/eclipse-cant-find-load-main-class –

+1

1. Сделайте свой класс 'demo' общедоступным и поместите его в отдельный файл (demo.java). 2. Согласование с соглашением об именах Java, назовите свой 'demo' класс' Demo' (и назовите файл 'Demo.java'). 3. В следующий раз начните с чего-то простого: сделайте супер простой класс с основным методом только с одним println. Убедитесь, что вы можете сделать это сначала. –

ответ

0

Представьте каждый из ваших классов имеет основную функцию, как онлайн компилятор должен знать, какие сделать точку входа?

1

У вас должен быть открытый класс, который содержит общедоступный статический основной метод (в вашем случае, демонстрационный пример). И имя файла должно быть таким же, как и открытый класс (в вашем случае, demo.java). Другие классы могут хранить их так (у них есть доступ по умолчанию для пакета).

Как указывали другие, вам следует следовать правилам именования, чтобы изменить имя класса на Demo.

Смежные вопросы