package emailapp;
import java.util.Scanner;
public class Email {
private String firstName;
private String lastName;
private String department;
private String password;
private String alternativeEmail;
private int mailboxCapacity = 200;
private String email;
private String companyName = "HomeCo.com";
public Email(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
//System.out.println("Email Created!:" + this.firstName + " " + this.lastName + " ");
this.department = setDepartment();
//System.out.println("Your Email Department: "+ this.department);
this.password = setPassword(8);
//System.out.println("Your Password Is: "+ this.password);
email = firstName.toLowerCase() + "." + lastName.toLowerCase() + "@" + department + "." + companyName;
//System.out.println("Your Email Address Is: "+ email);
}
private String setDepartment() {
System.out.print("CHOICES:\n1.Sales\n2.Development\n3.Accounting\n4.None Of The Above\n");
Scanner Input = new Scanner(System.in);
int choice = Input.nextInt();
if(choice == 1) {
return "sales";
}
else if(choice == 2) {
return "dev";
}
else if(choice == 3){
return "acct";
}
else {
return " ";
}
}
package emailapp;
public class EmailApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
Email em1 = new Email("Rojin","Ebrahimi");
System.out.println(em1.showInfo());
}
}
我写了一个使用2个类的微型电子邮件生成应用程序: 一个叫做“ Email”的类,另一个叫做“ EmailApp”的类(包括主要的类)。它是用Eclipse编写的,我试图在cmd中运行我的代码,但是我对如何首先编译它感到困惑。
当我键入:
javac EmailApp.java,
它一直告诉我:
Email类是公共的,应在名为Email.java的文件中声明
这些类位于名为“ emailapp”的程序包中。
答案 0 :(得分:0)
该错误表示您的文件名和类名具有不同的名称。 您应该为每个类保留一个单独的文件,并确保每个文件都具有与其包含的类相同的名称。
例如:
文件:EmailApp.java
包含:public class EmailApp { ... }
文件:Email.java
包含:public class Email { ... }
现在,当您使用main方法编译该类时,它还将编译另一个类-假设EmailApp调用Email。 主要方法应如下所示:
public static void main(String... args) {
//
}
因此,您只需像以前那样编译EmailApp.java。
无论如何,请提供您正在处理的文件。
答案 1 :(得分:0)
好吧,您需要准确地执行此错误告诉您的操作。在Java中,每个公共类(内部类除外)都需要拥有自己的文件。
您可能已经将两个类的代码放在一个名为EmailApp.java的文件中。但是您需要将Email类的所有代码放在一个名为Email.java的单独文件中。
这样做之后,您可以使用以下命令在命令行中编译两个文件:
javac EmailApp.java
javac Email.java
然后运行您将主功能放入的类(可能是EmailApp.java文件:
java EmailApp
评论后更新:
您确定cmd在正确的目录中吗?在您的文件资源管理器中,搜索源文件所在的目录。您应该能够从文件资源管理器中的地址栏中复制路径。在cmd中,您应该使用cd
命令更改目录:
cd "put the path to the right directory in here"
注意:如果路径中有空格,请确保将路径放在引号中。