2012-10-19 23 views
1

好的下面的代碼(我是一個新手請容忍我)我想能夠問用戶的問題:我如何問一個用戶,然後保存答案,並再次問相同的問題

System.out.println("Will the customer be adding any options to the order?"); 
System.out.println("1. Bed Frame ($39.99)"); 
System.out.println("2. Pillows ($59.99)"); 
System.out.println("3. Blankets ($129.99)"); 
System.out.println("4. No Options added. Enter No"); 
  1. 客戶會回答或者1-4,然後再通過一個循環,並問如果客戶想添加其他內容/你肯定不希望添加anything.if沒有被送到客戶到另一個班級(更多的問題)。如果是的話,顧客被問到同樣的「顧客......」會再次提出質疑。
  2. 客戶增加讓我們說第1項,並通過一個循環,並詢問客戶是否想添加任何其他東西/你確定你不想添加任何東西。如果沒有被髮送到另一個類。如果是的話,顧客被問到同樣的「顧客......」會再次提出質疑。一旦用戶完成回答問題,答案將被保存並在writeOutput()行中打印,以及客戶添加的產品的名稱和價格。

我知道這是一個循環,但我不知道如何實現這種循環。任何人都可以幫助我,並填寫空白?謝謝。下面是完整的代碼

import java.util.Scanner; 
public class addons 

{

private int Option; 
    private String Bed_Frame, Pillows, Blankets, No_Options_Added; 
    private String Name; 
    private double Price; 
    public void readInput() 
    { 

     Scanner keyboard = new Scanner(System.in); 
     System.out.println("Will the customer be adding any options to the order?"); 
     System.out.println("1. Bed Frame ($39.99)"); 
     System.out.println("2. Pillows ($59.99)"); 
     System.out.println("3. Blankets ($129.99)"); 
     System.out.println("4. No Options added. Enter No"); 
     Option = keyboard.nextInt(); 

     switch (Option) 
      { 
       case 1: 
        Name = "Bed Frame"; 
        Price = 39.99; 
        break; 
       case 2: 
        Name = "Pillows"; 
        Price = 59.99; 
        break; 
       case 3: 
        Name = "Blankets"; 
        Price = 129.99; 
        break; 
       case 4: 
       Name = "No Options Added"; 
       System.out.println("No options added"); 
        Price = 0; 
        break; 
      } 
    } 

    public void writeOutput() 
    { 
     System.out.println(Name); 
    } 

}

回答

2

只需添加一個while(true) { ... }塊,你可以一個問題後添加一個條件 - 如果答案是「是」 - 使用break(不在開關盒區塊!)完成重複循環:

public void readInput() { 

     Scanner keyboard = new Scanner(System.in); 
     while (true) { //ADDED THE WHILE LOOP 
      System.out.println("Will the customer be adding any options to the order?"); 
      System.out.println("1. Bed Frame ($39.99)"); 
      System.out.println("2. Pillows ($59.99)"); 
      System.out.println("3. Blankets ($129.99)"); 
      System.out.println("4. No Options added. Enter No"); 
      Option = keyboard.nextInt(); 
      switch (Option) 
       { 
       case 1: 
       Name = "Bed Frame"; 
       Price = 39.99; 
       break; 
       case 2: 
       Name = "Pillows"; 
       Price = 59.99; 
       break; 
       case 3: 
       Name = "Blankets"; 
       Price = 129.99; 
       break; 
       case 4: 
       Name = "No Options Added"; 
       System.out.println("No options added"); 
       Price = 0; 
       break; 
      } 

     //ADDED EXIT POINT WHEN TO EXIT: 
     System.out.println("Is that All?"); 
     //read an answer 
     if (*answer was yes*) break; 

     } //ADDED A CLOSING BLOCK 
} 

閱讀答案並確定條件應該作爲練習留下 - 因爲它看起來像一個教程作業,我不想破壞樂趣! :)

+0

你可能想要添加一個退出條件:) – Dave

+0

@Dave:他說他想重新開始,不知道何時停止... – amit

+0

是的,但這可能不是他的意思;有時用戶不知道他不知道什麼。 – Dave

相關問題