2016-04-27 68 views
-1

我的目標是從鍵盤上讀取費用的描述,然後是實際費用,然後詢問是或否,如果是,則循環返回以詢問另一費用描述和費用所有這些同時增加了費用和用戶輸入的總數。我知道該怎麼做,如果選擇是不,我只是有麻煩循環是選項回至開始java循環使用是或否選項窗格

繼承人是我迄今爲止

public static double budgetAmount; 
public static int totalExpenses; 
public static String expenseDescription; 
public static int expense; 
public static boolean proceed; 
public static String value; 
public static double runningTotal; 
public static int answer; 

public static void main(String[] args) { 

    String bdgtAmnt1 = JOptionPane.showInputDialog("Enter Budget Amount:"); 
    budgetAmount = Double.parseDouble(bdgtAmnt1); 
    do { 

    expenseDescription = JOptionPane.showInputDialog("Enter the description of the Expense in 32 letters"); 
    String expense1 = JOptionPane.showInputDialog("Enter Expense Amount:"); 
    budgetAmount = Double.parseDouble(expense1); 
    if (answer == JOptionPane.YES_OPTION) runningTotal += expense; 
    totalExpenses++; 

    answer = JOptionPane.showConfirmDialog(null, "Are there any more items to be entered?", "End Expense Report", JOptionPane.YES_NO_OPTION); 

    if (answer == JOptionPane.YES_OPTION) 
     System.exit(0); 
    else if (answer == JOptionPane.NO_OPTION) 
     System.out.println("One more time"); 

    } while(answer == JOptionPane.YES_OPTION); 
} 
+0

你有沒有看過你的代碼,並認爲你在那裏做什麼?如果首先檢查「答案」是否是,那麼殺死整個過程。後來你再次檢查以執行循環?你能理解這個嗎? – Tom

+0

你爲什麼要做一個System.exit(0);如果答案是肯定的。我以爲你想繼續循環這種情況。 –

+0

嗯,是的,我知道它退出,如果我點擊是大聲笑,我不知道如何循環回到頂端...因此,爲什麼我在這裏。如果你這麼聰明,也許你可以告訴我我可以如何:) – JavaSpawn101

回答

1

你的邏輯看起來倒:如果我按是,則我一直把更多的項目在列表... 所以更改此設置:

if (answer == JOptionPane.YES_OPTION) 
    System.exit(0); 
else if (answer == JOptionPane.NO_OPTION) 
    System.out.println("One more time"); 

爲:

if (answer == JOptionPane.NO_OPTION) 
    System.exit(0); 
else if (answer == JOptionPane.YES_OPTION) 
    System.out.println("One more time"); 
+0

OHHHHHHHH等等System.out.println(「多一次」);那必須在那裏嗎?它的目的是什麼? – JavaSpawn101