2015-04-16 2 views
0

Billl.javaЗаявленный перечисление вне класса

import java.util.Scanner; 

enum Package 
{ 
    BASIC("B"),MODERATE("M"),INTERMEDIATE("I"),ADVANCE("A") ; 
    Package pakej; 
    private String p; 

    private Package(String p) 
    { 
     this.p=p; 
    } 
} 



class Billl //class bil 
{ 
    private double price; 
    private int hour; 
    private double totalBill; 
    private int totalHour; 

    Package pakej; 

    public Billl(Package pakej) 
    { 
     this.pakej=pakej; 
    } 


    public void setHour(int hour) 
    { 
     this.hour=hour; 
    } 


    public void choose() 
    { 
     switch(pakej) 
     { 
      case BASIC: price=10; 
        int hour1=10; 
        totalHour = hour-hour1; 

        if(totalHour>0) 
         totalBill=price+(totalHour*2); 
        else 
         totalBill=price; 
        break; 

      case MODERATE: price=20; 
         int hour2=20; 
         totalHour = hour-hour2; 

         if(totalHour>0) 
          totalBill=price+(totalHour*1.5); 
         else 
          totalBill=price; 
         break; 

      case INTERMEDIATE: price=30; 
          int hour3=30; 
          totalHour = hour-hour3; 

          if(totalHour>0) 
           totalBill=price+(totalHour*1); 
          else 
           totalBill=price; 
          break; 

      case ADVANCE: price=50; 
         int hour4=50; 
         totalHour = hour-hour4; 

         if(totalHour>0) 
          totalBill=price+(totalHour*0.5); 
         else 
          totalBill=price; 
         break; 

      default : System.out.println("Wrong choice"); 
     } 
    } 

    public double getBill() 
    { 
     return totalBill; 
    } 
} 

TestBilll.java

import javax.swing.JOptionPane; 
import java.util.Scanner; 


public class TestBilll 
{ 

    public static void main(String[] args) 
    { 
     Scanner sc=new Scanner(System.in); 

     String e; //string for enum 
     e= JOptionPane.showInputDialog("\nChoose your package : "); 
     e=sc.next().toUpperCase(); 

     Package pakej; 
     Billl b=new Billl(pakej); 

     System.out.print("\nPlease enter hours : "); 

     //enter hours 
     int hour=sc.nextInt(); 
     b.setHour(hour); 
     b.choose(); 

     System.out.println("\n Your Package : " + pakej + "\nYour total bill : " + b.getBill()); 

    } 
} 

После компиляции TestBilll.java ошибка выходит и говорит, что переменная 'pakej' не может быть инициализирован. Как я могу исправить эту ошибку? пожалуйста, помогите мне исправить эту ошибку. Спасибо.

+0

В главном: Пакет pakej =? Вы передаете его конструктору Billl без какой-либо ценности. – belwood

+0

На какой строке она дает ошибку? –

+0

на Billl b = new Billl (pakej) говорится, что pakej не мог быть инициализирован –

ответ

1
Package pakej; 
Billl b=new Billl(pakej); 

должен быть

Package pakej = Package.BASIC; 
Billl b=new Billl(pakej); 
Смежные вопросы