目前,如果有人输入超出范围的日期,则会导致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");
}
}
}
}
BIG阳
炎炎设计
相关分类