2016-03-04 118 views
-3

你好所以我有一個名爲tractor的整個類,其中存儲了不同的數據,但現在我想用一個零參數構造函數創建一個對象調用拖拉機,但這是我迄今爲止的代碼其給予EM錯誤在java中創建對象的麻煩

首先這是我的拖拉機類,這是在不同的文件中:

import java.util.Scanner; 
class Tractor 
{ 
    private int RentalRate; 
    private int RentalDays; 
    private int VehicleID; 
    private int RentalProfit; 

    public void setRentalRate(int r) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.println("What's the Rental Rate?"); 
     int num = input.nextInt(); 
     num = r; 
     if(r<0 || r >1000) 

     RentalRate = r; 

     RentalRate= 1; 
    } 

    public int getRentalRate() 
    { 
     return RentalRate; 
    } 

    public void setVehicleID(int v) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.println("What's the vehicleID?"); 
     int num1 = input.nextInt(); 
     num1 = v; 
     if(v<0) 

     VehicleID = v; 

     VehicleID = 1;  
    } 

    public int getVehicleID() 
    { 
     return VehicleID; 
    } 

    public void setRentalDays(int d) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.println("How many rental days?"); 
     int num2 = input.nextInt(); 
     num2 = d; 
     if(d<0) 

     RentalDays = d; 

     RentalDays = 1;  
    } 

    public int getRentalDays() 
    { 
     return RentalDays; 
    } 



    public String toString() 
    { 
     String str; 
     str = "RentalDays:" + RentalDays +"\nRenalRate:" + RentalRate + "\nVehicleID " + VehicleID; 
     return str;  
    } 


    public void RentalProfit(int RentalRate, int RentalDays) 
    { 
     RentalProfit = RentalRate * RentalDays; 
    }  

}

import java.util.Scanner; 

public class testTractor 
{ 
    public static void main(String[] args) 
    { 
     public tractor() 
     { 
     this.RentalDays = d; 
     this.RentalRate = r; 
     this.VehicleID = v; 
     } 
} 
} 

的錯誤是:

testTractor.java:7: error: illegal start of expression 
     public tractor() 
    ^
testTractor.java:7: error: ';' expected 
     public tractor() 
        ^
2 errors 
+1

你的代碼是無效的Java,你應該重新開始。通過聲明一個變量併爲其分配一個對象來創建Tractor對象,後者通常通過**調用一個構造函數:'Tractor tractor = new Tractor();'。但更重要的是,您的問題表明,您將從閱讀Java教科書任何介紹的第一或第二章中受益,因爲這是您所問的第一個原則。 –

回答

0

您有編譯錯誤。您需要先聲明Tractor類,然後在其中添加構造函數。一種方法是在一個單獨的文件中聲明。另外在Java中,除非你定義了d你不可能分配它。也許你想在下面提供的例子中將這一天看作String。 您需要先創建一個文件調用Tractor.java,然後在那裏定義變量。對於Tractor.java例如內容:

public class Tractor { 
    String rentaldays,someOtherValue; 

    public Tractor(){ 
     rentaldays ="monday"; 
     someOtherValue="value"; 
    } 
    //or 
    public Tractor(String rentalDays){ 
     this.rentaldays = rentalDays; 
     someOtherValue = "asf"; 
    } 
} 

然後在你的主要方法,你可以做Tractor trac = new Tractor();Tractor trac = new Tractor("tuesday");之後還您在使用System.out.println(trac.rentaldays);

從它你可能會使得外觀可以打印trac的rentaldays拖拉機租賃系統。在這種情況下,rentalDays可能是一串字符串。然後你會有一系列Tractor對象存儲在租賃系統中。您可以查看這些術語和關鍵字,以指導您正確的方向。

+0

那麼事情是我有一個名爲Tractor.java的整個類,這是一個拖拉機類與所有的變量,如在RetanlRate = r等,我只是不知道如何認爲這兩個程序在一起,使我的主要testTractor。 java在不同的java程序中使用我從我的因子類獲得的所有信息 –

+0

現在看起來不錯,現在添加一個構造函數,就像我爲拖拉機初始化變量一樣。然後使用'Tractor trac = new Tractor();'來初始化拖拉機對象。該構造函數進入你的Tractor類。當這些文件位於相同的文件夾或「包」中時,您不需要導入它們。但是,如果他們在不同的包裝或文件夾中。你需要指定另一個的位置,即導入該類 –

0

您正在定義它錯誤,在類中定義您的方法,然後在main()方法中調用它們。

class Test{ 

public void greeting(){ 
System.out.print("hello to JAVA.."); 
} 
public static void main(String[] args){ 
Test testObj = new Test(); 
testObj.greeting(); 
} 
} 
0

如果您的項目中已經有類拖拉機,則使用非法的Java語法。它呼籲在其他類,試試下面的代碼

public class TestTractor(){ 
     Tractor objTractor; 
     public static void main(String[] args){ 
      //create new tractor object with no parameter 
      objTractor = new Tractor(); 
      //create new tractor object with parameter 
      objTractor = new Tractor(parameter here); 
      //do some action of object here 
      ........... 
     } 
    } 
0

//這僅僅是一個樣品

在拖拉機類中添加以下代碼

public tractor() 
    { 
    this.RentalDays = d; 
    this.RentalRate = r; 
    this.VehicleID = v; 
    } 

,並保持你TestTractor類作爲

public class TestTractor(){ 
    public static void main(String[] args){ 
     Tractor objTractor = new Tractor(); 
     // objTractor.yourMethodName 
    } 
}