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

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

如何使我的 if 語句再次運行,就像 if-else 語句運行一樣?

如何使我的 if 語句再次運行,就像 if-else 語句運行一樣?

守著一只汪 2023-09-06 16:03:38
目前,如果有人輸入超出范圍的日期,則會導致else語句運行,這一切都很好,但我希望if-else語句運行時,它會重新運行if語句。我真的不知道我應該做什么,所以任何幫助將不勝感激!import java.util.Scanner;public class Horoscope {    public Horoscope() {        Scanner sc = new Scanner(System.in);        String output = "Please enter a valid date";        int month;        int day;        System.out.println("What is your month of birth?");        month = sc.nextInt();        System.out.println("What is your day of birth?");        day = sc.nextInt();        if((month == 3 && day >= 20 && day <= 31) || (month == 4 && day >= 1 && day <= 19)) {            System.out.println("You are an Aries");        }        else if((month == 4 && day >= 20 && day <= 30) || (month == 5 && day >= 1 && day <= 20)) {            System.out.println("You are a Taurus");        }        else if((month == 5 && day >= 21 && day <= 31) || (month == 6 && day >= 1 && day <= 20)) {            System.out.println("You are a Gemini");        }        else if((month == 6 && day >= 21 && day <= 30) || (month == 7 && day >= 1 && day <= 22)) {            System.out.println("You are a Cancer");        }        else if((month == 7 && day >= 23 && day <= 31) || (month == 8 && day >= 1 && day <= 22)) {            System.out.println("You are a Leo");        }        else if((month == 8 && day >= 23 && day <= 31) || (month == 9 && day >= 1 && day <= 22)) {            System.out.println("You are a Virgo");        }        else if((month == 9 && day >= 23 && day <= 30) || (month == 10 && day >= 1 && day <= 22)) {            System.out.println("You are a Libra");        }        else if((month == 10 && day >= 23 && day <= 30) || (month == 11 && day >= 1 && day <= 21)) {            System.out.println("You are a Scorpio");        }        else if((month == 11 && day >= 22 && day <= 31) || (month == 12 && day >= 1 && day <= 21)) {            System.out.println("You are a Sagittarius");        }        }    }}
查看完整描述

2 回答

?
BIG陽

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

import java.util.Scanner;


public class test {

    public test() {

        Scanner sc = new Scanner(System.in);

        String output = "Please enter a valid date";

        int month;

        int day;

        int k = 0;

// you can use do while loop. write some flag logic like I created k variable and it will be checked in while block

        do {

            System.out.println("What is your month of birth?");

            month = sc.nextInt();

            System.out.println("What is your day of birth?");

            day = sc.nextInt();


            if ((month == 3 && day >= 20 && day <= 31) || (month == 4 && day >= 1 && day <= 19)) {

                System.out.println("You are an Aries");

            } else if ((month == 4 && day >= 20 && day <= 30) || (month == 5 && day >= 1 && day <= 20)) {

                System.out.println("You are a Taurus");

            } else if ((month == 5 && day >= 21 && day <= 31) || (month == 6 && day >= 1 && day <= 20)) {

                System.out.println("You are a Gemini");

            } else if ((month == 6 && day >= 21 && day <= 30) || (month == 7 && day >= 1 && day <= 22)) {

                System.out.println("You are a Cancer");

            } else if ((month == 7 && day >= 23 && day <= 31) || (month == 8 && day >= 1 && day <= 22)) {

                System.out.println("You are a Leo");

            } else if ((month == 8 && day >= 23 && day <= 31) || (month == 9 && day >= 1 && day <= 22)) {

                System.out.println("You are a Virgo");

            } else if ((month == 9 && day >= 23 && day <= 30) || (month == 10 && day >= 1 && day <= 22)) {

                System.out.println("You are a Libra");

            } else if ((month == 10 && day >= 23 && day <= 30) || (month == 11 && day >= 1 && day <= 21)) {

                System.out.println("You are a Scorpio");

            } else if ((month == 11 && day >= 22 && day <= 31) || (month == 12 && day >= 1 && day <= 21)) {

                System.out.println("You are a Sagittarius");

            } else if ((month == 12 && day >= 22 && day <= 31) || (month == 1 && day >= 1 && day <= 19)) {

                System.out.println("You are a Capricorn");

            } else if ((month == 1 && day >= 20 && day <= 31) || (month == 2 && day >= 1 && day <= 18)) {

                System.out.println("You are an Aquarius");

            } else if ((month == 2 && day >= 19 && day <= 29) || (month == 3 && day >= 1 && day <= 20)) {

                System.out.println("You are a Pisces");

            } else {

                System.out.println(output);

                k = 1;

            }

        } while (k == 1);


    }

}


查看完整回答
反對 回復 2023-09-06
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

解決了!我創建了一個名為 k 的 int 并將其設置為 1,并在它等于 1 時運行 do,如果它產生 true if 語句,則返回 0 并結束代碼。



查看完整回答
反對 回復 2023-09-06
  • 2 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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