2017-06-19 28 views
-1

我不明白爲什麼我得到一個編譯錯誤,我希望有人可以幫忙在這裏。我會很感激。我正在努力爲很多汽車製造一個系統。我不明白如何在我的類中的方法在JAVA

public class Car { 
    //Instance Variables 
    String make; 
    String model; 
    int year; 
    boolean isNew; 
    double miles; 
    String owner; 
    public void sell (String newOwner) { 
     owner=newOwner; 
     if (isNew){ 
      isNew=false; 
     } 
    } 
    public boolean isOld() { 
     int thisYear=Calendar.getInstance().get(Calendar.YEAR); 
     if (thisYear-year > 10) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
} 
public static void main(String[] args) { 
    Car myCar = new Car(); //myCar is a variable and new the keyword 
    myCar.make = "Audi"; 
    myCar.model = "A4"; 
    myCar.year =2014; 
    myCar.isNew=true; 
    myCar.miles =0; 
    myCar.owner ="Jeyson"; 
    boolean isMyCarOld = myCar.isOld(); 
    myCar.sell("John Doe"); 
    System.out.println("Car owned by" + myCar.owner); 
} 
+1

似乎主要methos是在類的外部,這是不正確的:) –

+1

只需更換最後'}'主要方法之前,把爲後'}}'}}' –

+1

如果你正確地縮進你的代碼,這將清楚錯誤發生在哪裏。 – khelwood

回答

1

你不能在課堂上寫main方法。它應該寫在課堂上。

下面的代碼應該工作,

public class Car { 
    //Instance Variables 
    String make; 
    String model; 
    int year; 
    boolean isNew; 
    double miles; 
    String owner; 
    public void sell (String newOwner) { 
     owner=newOwner; 
     if (isNew){ 
      isNew=false; 
     } 
    } 
    public boolean isOld() { 
     int thisYear=Calendar.getInstance().get(Calendar.YEAR); 
     if (thisYear-year > 10){ 
      return true; 
     } else { 
      return false; 
     } 
    } 
    public static void main(String[] args){ 
     Car myCar = new Car(); //myCar is a variable and new the keyword 
     myCar.make = "Audi"; 
     myCar.model = "A4"; 
     myCar.year =2014; 
     myCar.isNew=true; 
     myCar.miles =0; 
     myCar.owner ="Jeyson"; 
     boolean isMyCarOld = myCar.isOld(); 
     myCar.sell("John Doe"); 
     System.out.println("Car owned by" + myCar.owner); 
    } 
}