2014-01-25 86 views
0

所以我正在做一個簡單的菜單與選項對話框,但它只是不編譯,不知道爲什麼。試圖創建一個菜單,我得到編譯器錯誤

這是錯誤:

Inventory.java:21: error: illegal start of expression 
public static String promptInventory(String MName, String[] options) 

不知道這裏做什麼。也是我設置它的方式,它應該循環回菜單,每次都對嗎?但我認爲它不符合我的目的......

import java.util.ArrayList; 
    import javax.swing.JOptionPane; 
    import javax.swing.JTextArea; 
    import javax.swing.JScrollPane; 

    class Inventory 
    { 
    public static void main(String arg[]) 
    { 
     Database db = new Database(); 
     Database dpl = new Database(); 

    final String[] MENU_OPTIONS = {"exit", "Add product", "Sell product", "Delete product", "Modify product", 
           "Display information"}; 
    final String MENU_NAME = "Inventory"; 


    String selection = promptInventory(MENU_NAME, MENU_OPTIONS); 


    public static String promptInventory(String MName, String[] options) 
    { 
     int selection = JOptionPane.showOptionDialog(null, 
              "Enter your Transaction Type", 
              MName, 
              JOptionPane.DEFAULT_OPTION, 
              JOptionPane.QUESTION_MESSAGE, 
              null, options, options[0]); 
     return (String)options[selection]; 
    } 


    //logic 


     switch (selection) 
     { 
     case "exit" : 
          break; 

     case "Add product" : 
          break; 

     case "Sell product" : 
          break; 

     } 

     String selection = promptInventory(MENU_NAME, MENU_OPTIONS); 

     } 

     } 
+2

移動'promptInventory'你的'main'方法 – Reimeus

+0

你不能在Java中定義函數的其他功能內(除非你聲明函數內一個新的類在其中你把另一個功能 - 但這裏沒用)。 – Njol

+0

你不能在另一個方法中定義一個方法,並且你沒有「關閉」main。 –

回答

1

使用一種工具可以爲您設置/縮進代碼。這使得這些錯誤顯而易見。

您的promptInventory方法現在在主要方法中,這是非法的。

你有方法的類應縮進像

class Inventory 
{ 
    public void method(){ 

    } // end of method 

    public void nextMethod(){ 
     // No methods in here. 
    } 
}// end class 
+0

非常感謝。 – user3235978

相關問題