作者SmileJoS ( O.o)
看板java
標題Re: [問題] 讓程式重頭RUN一遍的方法
時間Sat Oct 10 21:58:15 2009
※ 引述《jeffgk2005 (天下沒有你的午餐)》之銘言:
: 昨晚試了一整夜還是弄不出來
: 書也都翻過了orz
: 所以才上來請教各方高手
: 我現在寫的是一個含有if敘述句的程式
: 而我想要在當使用者輸入的數值錯誤的時候
: 可以跳回一開始的地方重新輸入正確的數值
: 而不用每次都要先結束程式再RUN一次
: 但是我卻找不到這個方法
: 以下是程式碼:
: public static void main( String[] JeffGK )
: {
: String msgPrice = JOptionPane.showInputDialog( "請輸入物品價格:" );
: String msgCD = JOptionPane.showInputDialog( "請輸入折扣價格:" );
: /*==================================================================*/
: double Price = Double.parseDouble( msgPrice );
: double CD = Double.parseDouble( msgCD );
: /*==================================================================*/
: if( CD < 10 && CD > 0 && Price >= 0 )
: {
: double CDP = CD * 10/100;
: double PayD = Price * CDP;
: int Pay = ( int )PayD;
: JOptionPane.showMessageDialog( null , "該件商品折扣後為:" + Pay );
: }
: else if( CD >= 10 && CD <= 100 && Price >= 0)
: {
: double CDP = CD * 1/100;
: double PayD = Price * CDP;
: int Pay = ( int )PayD;
: JOptionPane.showMessageDialog( null , "該件商品折扣後為:" + Pay );
: }
: else
: {
: JOptionPane.showMessageDialog( null ,
: "折扣或價格輸入錯誤,請重新操作" );
: /*就是這裡想要讓他能跑回main方法重新開始一次*/
: }
: System.exit( 0 );
: }
: }
: 請問有甚麼方法能夠讓這程式照我想要的這麼方式走呢?
: 要不然每次都要重新弄一次 我覺得實在太累贅了...
: 新手上路 如果有名詞搞錯或者是敘述不清的地方還請海含
: 謝謝
小修改一下
---------------------------------------------------------------------------
boolean check = false;
String msgPrice;
String msgCD;
double Price;
double CD;
double CDP;
double PayD;
int Pay;
do
{
msgPrice = JOptionPane.showInputDialog( "請輸入物品價格:" );
msgCD = JOptionPane.showInputDialog( "請輸入折扣價格:" );
Price = Double.parseDouble( msgPrice );
CD = Double.parseDouble( msgCD );
if( CD < 10 && CD > 0 && Price >= 0 )
{
CDP = CD * 10/100;
PayD = Price * CDP;
Pay = ( int )PayD;
JOptionPane.showMessageDialog( null , "該件商品
折扣後為:" + Pay );
System.exit( 0 );
check = false;
}
else if( CD >= 10 && CD <= 100 && Price >= 0)
{
CDP = CD * 1/100;
PayD = Price * CDP;
Pay = ( int )PayD;
JOptionPane.showMessageDialog( null , "該件商品
折扣後為:" + Pay );
System.exit( 0 );
check = false;
}
else
{
JOptionPane.showMessageDialog( null ,
"折扣或價格輸入錯誤,請重新操作" );
check = true;
}
}while(check);
--------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.52.186
推 jeffgk2005:阿 原來還有先宣告變數的方法! 10/10 21:59
推 jeffgk2005:十分感謝您~~ 10/10 22:09