2014-09-22 3 views
0

Хорошо, так что я запускаю этот код и он дает мне ошибку:Переменная не инициализированная ошибка?

SammysRentalPriceWithMethods.java:49: error: variable Minutes might not have been initialized 
    int TOTAL_COST = Minutes - 60 * 1 + 40; 
        ^

Я понятия не имею, как это исправить, и я прошу прощения, если мой код является неэффективным, я только был на Java для 3 недели, очень начинающий.

import java.util.Scanner; 

public class SammysRentalPriceWithMethods { 

    public static void main(String[] args) { 
     rentalTime(); 
     companyMotto(); 
     whenIGetMoney(); 
    } 

    public static int rentalTime() { 
     int Minutes; 
     Scanner inputDevice = new Scanner(System.in); 
     System.out.print("Enter total minutes equipment was rented:"); 
     Minutes = inputDevice.nextInt(); 
     return Minutes; 
    } 

    public static void companyMotto() { 
     System.out.println(

         "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S Sammy's makes it fun in the sun S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "S         S \r\n" + 
         "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS \r\n"); 


    } 

    public static void whenIGetMoney() { 
     final int HOURLY_RATE = 40; 
     final int EXTRA_MIN_RATE = 1; 
     int Minutes; 

     int TOTAL_COST = Minutes - 60 * 1 + 40; 
     System.out.println("You rented our equipment for " + Minutes + " minutes!"); 
     System.out.println("The total cost of an " + Minutes + " minute rental is $" + TOTAL_COST + "."); 
    } 

} 

Я получаю сообщение об ошибке в своем последнем методе, в котором говорится, что переменная Minutes не инициализирована, не имеет никаких идей?

ответ

1

Я думаю, вы должны попробовать это:

int min = rentalTime(); 
companyMotto(); 
whenIGetMoney(min); 

с этой модификацией:

public static void whenIGetMoney(int min) { 
    final int HOURLY_RATE = 40; 
    final int EXTRA_MIN_RATE = 1; 
    int Minutes = min; 
    ... 
+0

Я хотел бы, чтобы вы знали, что, I. Любовь. Вы. Это сработало отлично! dsfajfldahskflaifudsakdflh Сладкий ребенок Иисус Спасибо! – Michael

1

Вы не можете использовать локальную переменную без ее инициализации. Ваша переменная Minutes не инициализируется, и вы пытаетесь ее использовать. просто объявите его как int Minutes = 0; в методе whenIGetMoney(). В любом случае, результат не будет тем, чем вы ожидаете быть, поскольку переменная Minutes имеет неправильное значение.

Смежные вопросы