亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要一個不滿足的 if 語句來轉到代碼開頭

需要一個不滿足的 if 語句來轉到代碼開頭

慕斯709654 2023-07-28 16:20:01
我正在嘗試設置一些 if 語句,以確保用戶輸入不會超出我設置的范圍(如果我希望 if 語句將它們返回到主代碼的開頭)。String animal = JOptionPane.showInputDialog("Enter In Animal Name"); // Asking for user to enter a animalString fruit = JOptionPane.showInputDialog("Enter In A Fruit Name"); // Asking user to enter a fruitint days = Integer.parseInt(JOptionPane.showInputDialog("Enter In How Many Days Between 1 And 10"));// Above integer is asking the user to enter the amount of days.// Below if statements are basically error checking to ensure the user stays between the// range asked for when they are asked to enter in days between 1 and 10.if (days <= 0) { // Ensures that negative numbers cannot be entered.    JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");    return;}if (days >= 10) { // Ensures nothing over 10 can be entered.    JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");    return;}如果 if 語句說它是一個錯誤,它應該返回要求他們重新輸入天數
查看完整描述

4 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

使用do-while至少執行一次的循環,如果days不滿足條件則每次都循環回來。


public static void main(String[] args) 

{

    do {

        //Your other code

        String animal = JOptionPane.showInputDialog("Enter In Animal Name"); // Asking for user to enter a animal

        String fruit = JOptionPane.showInputDialog("Enter In A Fruit Name"); // Asking user to enter a fruit


        int days = askForInput();


        if (days <= 0 || days >= 10) { // Ensures that negative numbers cannot be entered.

            JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");

        }


    } while (days <= 0 || days >= 10);

}


//Pass whatever parameters you might need

public static int askForInput() {

    int days = Integer.parseInt(JOptionPane.showInputDialog("Enter In How Many Days Between 1 And 10"));

    //Any other code you want

    return days;

}

我還將它提取到一個方法中,這可能是不必要的,但如果需要,它可以讓您添加更多功能。


如果您不想每次都被問到這個問題,您也可以移動animal或fruit離開。do


查看完整回答
反對 回復 2023-07-28
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

允許代碼重新啟動代碼塊(即返回到開頭并重試)的一種方法是使用帶有“永遠”循環的continueand語句。break


for (;;) { // loop forever

    // some code here

    if (failure condition 1) {

        // handle failure here

        continue; // go back and try again

    }

    if (failure condition 2) {

        // handle failure here

        continue; // go back and try again

    }

    // more code and failure condition checks here

    break; // unconditional exit loop, since all is ok

}

如果“此處的某些代碼”本身位于循環內,但需要返回到開頭并重試,則可以為此使用標簽:


TRYAGAIN: for (;;) { // loop forever

    // some code here

    for (some looping here) {

        // some code here

        try {

            if (failure condition) {

                // handle failure here

                continue TRYAGAIN; // go back and try again

            }

        } finally {

            // code here will execute, even if 'continue' is used

        }

    }

    // more code and failure condition checks here

    break; // unconditional exit loop, since all is ok

}


查看完整回答
反對 回復 2023-07-28
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

String animal;

String fruit;

int days = 0;


animal = JOptionPane.showInputDialog("Enter In Animal Name");

fruit = JOptionPane.showInputDialog("Enter In A Fruit Name");


while(days <= 0 || days > 10) {

    days = Integer.parseInt(JOptionPane.showInputDialog("Enter In How Many Days Between 1 And 10"));


    if (days <= 0 || days > 10) {

        JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");

    }

}


查看完整回答
反對 回復 2023-07-28
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

使用 while 循環


// Your user prompt for animal and fruit goes here


boolean exit = false;

while(!exit)

{

    // Your user prompt for days code goes here


    if (days <= 0 || days > 10) {

        JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");

        exit = false; // This is not necessary but nice for readability's sake

    }

    else {

        exit = true;

    }

}


查看完整回答
反對 回復 2023-07-28
  • 4 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號