Java错误:未解析的编译
当我运行以下代码时,我收到错误- 主线程java.lang中出现异常。错误:未解决的编译问题:Java错误:未解析的编译,java,compiler-errors,Java,Compiler Errors,当我运行以下代码时,我收到错误- 主线程java.lang中出现异常。错误:未解决的编译问题: at homework6.main(homework6.java:6) 我研究了为什么会出现这种情况,之前的回答说类名需要匹配java文件名,我的类也匹配.java文件名。我还尝试删除void和整个语句,但是出现了一个新的错误,说我需要public void mainString[]args。我是否遇到了与类和.java不同的问题 public class homework6 { publ
at homework6.main(homework6.java:6)
我研究了为什么会出现这种情况,之前的回答说类名需要匹配java文件名,我的类也匹配.java文件名。我还尝试删除void和整个语句,但是出现了一个新的错误,说我需要public void mainString[]args。我是否遇到了与类和.java不同的问题
public class homework6 {
public static void main(String[] args) {
class Date {
private int month;
private int day;
private int year;
private String name;
public Date() {
}
{
month=1;
day = 1;
year = 2001;
name = "January";
}
public Date(int m, int d, int y) {
setDate(m, d, y);
}
public void setDate(int m, int d, int y) {
month = m;
day = d;
year = y;
if (m ==1 )
name="January";
else if(m == 2)
name="February";
else if(m == 3)
name="March";
else if(m == 4)
name="April";
else if(m == 5)
name = "May";
else if(m == 6)
name = "June";
else if(m == 7)
name = "July";
else if(m == 8)
name = "August";
else if(m == 9)
name = "September";
else if(m == 10)
name = "October";
else if(m == 11)
name="November";
else if(m == 12)
name = "December";
}
public void showDate1() {
System.out.println(month + "/" + day + "/" + year);
}
public void showDate2() {
System.out.println(name + "" + day + "," + year);
}
public void showDate3() {
System.out.println(day + "" + name + "" + year);
}
}
}
}
你将一个类Date嵌套在一个方法中,确切地说是主方法,这是你不能也不应该做的事情
解决方案:不要这样做
创建一个名为Date.java的文件,并将日期类代码放在其中。
创建第二个名为Homework6.java的文件,并将主要方法放在其中
完成。答案中的有效分数。您也可以将该类放在main之外,并让它进行编译
但是,如果您后退一步,并且假设您得到了要编译的代码,那么预期的输出是什么?您似乎没有调用任何方法。你想花点时间来理解你的逻辑吗 可能是因为:
public Date() {
}
{
month=1;
day = 1;
year = 2001;
name = "January";
}
应删除前两个括号,因为后两个括号之间的代码不在方法中。所以它应该是这样的:
public Date() {
month=1;
day = 1;
year = 2001;
name = "January";
}
函数中不能有类。我只是把你的代码复制到一个名为homework6.java的文件中,这个文件的大小写完全一样,编译的很好。它运行时也没有出错,尽管它没有做任何事情,因为您的主方法所做的唯一事情是声明一个类而不是实例化它,更不用说调用它上的任何方法了。这是错误的——您可以在一个方法中嵌套一个类。我刚才仔细检查了一遍,并在1.8版上验证了这一点,尽管我几乎可以肯定这在1.7版中也是正确的,之前谁知道呢。你建议我如何把这个类放在主类之外?我是否包括从上课日期到姓名=一月?