问题如下。我正在为一个名为" myprogramminglab"的在线编程网站做作业。它要求我做以下练习:
设计一个名为Person的类,其中包含用于保存人名的字段 ,地址和电话号码(全部为字符串)。写一个构造函数 初始化所有这些值,以及mutator和accessor 每个领域的方法。
接下来,设计一个名为Customer的类,它继承自Person 上课。 Customer类应该有一个String字段 客户编号和表示客户是否的布尔字段 希望成为邮件列表。编写一个初始化的构造函数 这些值以及适当的mutator和accessor方法 班级的领域。
在提示用户的程序中演示Customer类 输入客户姓名,地址,电话号码和的值 客户编号,然后询问用户是否是客户 想要收到邮件。使用此信息创建客户 对象,然后打印其信息。
将所有类放在同一个文件中。为此,请不要声明 他们公开。
相反,只需写下:
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 :(得分:1)
你需要有一个公共类,其中包含public static main方法(在你的例子中,demo)。并且文件名应该与公共类相同(在您的情况下,demo.java)其他类可以保持它们(实际上它们具有包默认访问)。
由于其他人也很兴奋,你最好遵循命名惯例,将类名更改为Demo。
答案 1 :(得分:0)
想象一下,你的每个类都有一个主要功能,在线编译器应该如何知道哪个进入点?