2016-08-30 90 views
1

我被要求運行一個請求用戶輸入的循環,使用adjustPrice()方法應用更改,並在調整價格後打印新信息。然後當用戶輸入0時結束循環。while循環內的用戶輸入

現在它完成了上述所有操作,只是不再要求用戶輸入,並以打印的新信息結束。請幫忙!

boolean done = false; 
    while (!done) { 
     System.out.print("Enter adjustment to price in percent (0 to quit): "); 
     double adjustment = in.nextDouble(); 

     if (adjustment == 0) { 
      done = true; 
     }else{ 
      swag.adjustPrice(adjustment); 
      System.out.println(swag.toString()); 
      in.next(); 
     }  
    } 
+1

你應該用'in.next()'的輸入做些什麼?到目前爲止,你放棄了它。 – noahnu

+1

如果輸入else語句,最後的in.next()調用將導致您的代碼有問題。 –

+1

您是否嘗試過使用調試器? – Orin

回答

3

你在最後有in.next()。這需要用戶在循環重置爲System.out行之前輸入一些內容。拿出那條線。

0

,以允許用戶輸入使用所述端

else { 
    swag.adjustPrice(adjustment); 
    System.out.println(swag.toString()); 
    in.next(); 
} 

但要注意,該方法沒有考慮的鍵作爲輸入或空間 考慮到這些鍵使用。

else { 
    swag.adjustPrice(adjustment); 
    System.out.println(swag.toString()); 
    System.in.read(); 
}