2016-03-04 2 views
-1

Я сейчас в процессе создания программы для хранения данных аренды трактора, и я столкнулся с проблемой в классе тракторов, мне нужно переопределить метод toString для печати всю информацию о тракторах, а также метод расчета арендной платы, которая составляет только арендные дни * rentrate, но я получаю эти ошибки, и я не уверен, куда идти отсюда.У меня возникли проблемы с созданием нескольких методов

public int RentalProfit(int RentalRate, int RentalDays) 
    { 
     RentalProfit = RentalRate * RentalDays; 
     return this.RentalProfit; 
    } 


    @Override 
    public String toString() { 
     return "Tractor (Rental days = " + RentalDays + ", Rental Rate = " + RentalRate + 
     "Rental profit = " RentalProfit + ", VehicleID = " + VehicleID ")"; 
    } 

Heres ошибка:

Tractor.java:59: error: ';' expected 
     "Rental profit = " RentalProfit + ", VehicleID = " + VehicleID ")"; 
         ^
Tractor.java:59: error: not a statement 
     "Rental profit = " RentalProfit + ", VehicleID = " + VehicleID ")"; 
                 ^
Tractor.java:59: error: ';' expected 
     "Rental profit = " RentalProfit + ", VehicleID = " + VehicleID ")"; 
                    ^
3 errors 



public static void main(String[] args){ 
      Tractor tractor; 
      tractor = new Tractor(); 
      tractor.setRentalRate(9); 
      tractor.setRentalDays(45); 
      tractor.setVehicleID(9145949); 
      toString(); 

Heres ошибка:

testTractor.java:11: error: non-static method toString() cannot be referenced from a static context 
      toString(); 
     ^
1 error 
+1

Два недостающих '+': '" Арендная прибыль = "+ RentalProfit +", VehicleID = "+ VehicleID +") ";' – Spotted

+0

В вашей основной : 'toString()' должно быть 'tractor.toString()'; – AmazingDreams

ответ

1

Вы не нашел + знака:

return "Tractor (Rental days = " + RentalDays + ", Rental Rate = " + RentalRate + 
    "Rental profit = " + RentalProfit + ", VehicleID = " + VehicleID + ")"; 
        ^           ^
        here          and here 
+0

Даже 2, если смотреть внимательно. :-) – Spotted

+0

Получил! Благодаря! : D –

+0

Другой вопрос. Итак, я мой основной класс тракторов. Я пытаюсь внедрить этот объект toString() в объект трактора, как мне это сделать? –

0

В вашем основном методе вы звоните toString(); вы не можете этого сделать - toString не является статическим методом и должен вызываться через экземпляр. Что вы хотите tractor.toString();

+0

Да, я понял, что теперь это дает мне этот выход, Трактор (дни аренды = 9145949, Арендная ставка = 0, Арендная прибыль = 0, VehicleID = 9145949) Который я не уверен, почему это так. –

0

первой ошибка, которую вы вернуть строку, которую вы должны закрыть его, как этот

return ("Tractor Rental days = " + RentalDays + " Rental Rate = " + RentalRate + 
     "Rental profit = "+ RentalProfit + ", VehicleID = " + VehicleID); 

во второй задаче я думаю, что у вас есть основной метод, и это статическое вам нужно сделать статический метод для вызова это сделать метод toString() static ... Надеюсь, я вам помогу