[英]Java Error: unresolved compilation
當我運行以下代碼時,我收到錯誤 - 線程“main”java.lang.Error 中的異常:未解決的編譯問題:
at homework6.main(homework6.java:6)
我研究了為什么會發生這種情況,之前的答案說類名需要匹配 java 文件名,我的類也匹配 .java 文件的類名。 我還嘗試完全刪除“void”和整個語句,但隨后出現了一個新錯誤,提示我需要 public void main(String[] 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
,准確地說是 main 方法——這是您不能也不應該做的事情。
解決方案:不要這樣做。
創建一個名為 Date.java 的文件,並將您的 Date 類代碼放入其中。
創建一個名為 Homework6.java 的第二個文件,並將您的主要方法放入其中。
完畢。
有效點答案中的那些。 您也可以將類放在 main 之外並讓它編譯。
但是,如果您退后一步,並假設您編譯了這段代碼,那么預期的輸出是什么? 您似乎沒有調用任何方法。 你想花一點時間來理解你的邏輯嗎?
大概是因為這個:
public Date() {
}
{
month=1;
day = 1;
year = 2001;
name = "January";
}
前兩個括號應該去掉,因為后兩個之間的代碼不在方法中。 所以它應該是這樣的:
public Date() {
month=1;
day = 1;
year = 2001;
name = "January";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.