我似乎无法从我写入main方法的类中实例化一个对象。我不知道我的代码或netBeans是否存在问题。以下是仅针对该问题发表评论的程序:
package app;
import java.util.Scanner;
public class SetUpSite {
public static void main(String[] args) {
final int FOUNDED_YEAR = 1977;
int currentYear;
int age;
statementOfPhilosophy();
Scanner reader = new Scanner(System.in);
//the very next line is the only line unrecognized
EventSite oneSite = new EventSite();
int siteNum;
System.out.print("Enter the event site number: ");
siteNum = reader.nextInt();
oneSite.setSiteNumber(siteNum);
System.out.print("Enter the Current year of the company: ");
currentYear = reader.nextInt();
System.out.println("The age of the Company is "+ calculateAge(FOUNDED_YEAR, currentYear) + " years");
}
public static void statementOfPhilosophy() {
System.out.println("Event Handlers INC");
}
public static int calculateAge(final int ORIGINAL_YEAR, int currentDate) {
int years = currentDate - ORIGINAL_YEAR;
return years;
}
public class EventSite {
private int siteNumber;
public void oneSite() {
}
public int getSiteNumber() {
return siteNumber;
}
public void setSiteNumber(int n) {
siteNumber = n;
}
}
}
答案 0 :(得分:1)
EventSite是SetUpSite的公共内部类,这让你烦恼不已。从SetUpSite类中获取EventSite类代码,而不是将其放在它自己的文件中。 Java文件不能包含多个顶级公共类。
你可以把它变成一个私有的内部类,并使它成为静态内部类,但没有充分的理由这样做,或者可以将它设为私有并在SetUpSite实例之上创建它,但这是一个丑陋且不必要的组装机。