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 的文件中声明.java这些类位于名为“emailapp”的包中。
2 回答
萧十郎
TA贡献1815条经验 获得超13个赞
好吧,您需要完全按照此错误告诉您的方式进行操作。在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"
注意:如果路径中有空格,请确保将路径放在引号内。
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
该错误表示您的文件名和类名具有不同的名称。您应该为每个类保留一个单独的文件,并确保每个文件都与其包含的类具有相同的名称。
例如:文件:EmailApp.java包含:public class EmailApp { ... }
文件:电子邮件.java包含:public class Email { ... }
现在,当您使用main方法编译类时,它还将编译另一个类 - 假设EmailApp调用Email。main 方法应如下所示:
public static void main(String... args) { // }
因此,您只编译EmailApp.java就像您所做的那样。
无论如何,请提供您正在处理的文件。
添加回答
举报
0/150
提交
取消