2016-03-04 4 views
-3

Здравствуйте, Итак, у меня есть целый класс, называемый трактором с различными хранимыми в нем данными, но теперь я предполагаю создать трактор вызова объекта с нулевым конструктором параметров, но это код, который у меня есть до сих пор. и его ошибки, дающие эмпроблемы с созданием объектов в 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, и вы должны начать все сначала. Вы создаете объекты трактора, объявляя переменную и присваивая ей объект, последний обычно ** вызывает ** конструктор: «Тракторный трактор = новый трактор();». Но что более важно, ваш вопрос предполагает, что вам будет полезно прочитать первую или две главы любого вступительного слова в учебник Java, поскольку это первые принципы, о которых вы спрашиваете. –

ответ

0

У вас есть ошибки в сборке. Сначала нужно объявить класс Трактора, а затем добавить внутри него конструктор. Один из способов сделать - объявить в отдельном файле. Также на 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"); также после того, что вы можете распечатать rentaldays из trac с помощью System.out.println(trac.rentaldays);

Судя по ней вы будете, вероятно, делаете система аренды тракторов. В этом случае rentDays может быть массивом строк. И тогда у вас будет массив объектов Трактора для хранения в системе аренды. Вы можете посмотреть эти термины и ключевые слова, чтобы указать вам в правильном направлении.

+0

Хорошо, у меня есть целый класс Tractor.java, который является классом Tractor со всеми переменными, такими как RetanlRate = r и такими, я просто не уверен, как думать о двух программах вместе, чтобы мой основной testTractor. java использует всю информацию, полученную мной из моего класса факторов, в другой java-программе. –

+0

Это выглядит хорошо, теперь добавьте конструктор, как я сделал для трактора, чтобы инициализировать ваши переменные. Затем используйте «Трактор trac = new Tractor();» для инициализации объекта трактора. Этот конструктор входит в ваш класс Трактора.Когда эти файлы находятся в одной папке или «пакете», их не нужно импортировать. Но если они были в разных пакетах или папках. Вам нужно будет указать, где находится другой: i.e импортировать класс –

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 
    } 
} 
Смежные вопросы