Я делаю программу с использованием Java, которая будет выводить знак зодиака пользователей. Когда я компилирую этот код, он выделяет 0219 и говорит, что "целое число слишком велико". Я новичок, поэтому, если это глупая ошибка, пожалуйста, будь красивой. благодаря
System.out.println("Please enter your birthday month and day as a four digit number");
System.out.println("(Ex: 0514 for May 14th):");
double d = key.nextDouble();
if (d >= 0101 && d <= 0120) {
System.out.println("You are a Capricorn.");
}
else if (d >= 0121 && d <= **0219**) {
System.out.println("You are an Aquarius.");
}
else if (d >= 0220 && d <= 0320) {
System.out.println("You are a Pisces.");
}
else if (d >= 0321 && d <= 0420) {
System.out.println("You are an Aries.");
}
else if (d >= 0421 && d <= 0521) {
System.out.println("You are a Taurus.");
}
else if (d >= 0522 && d <= 0621 ) {
System.out.println("You are a Gemini.");
}
else if (d >= 0622 && d <= 0723 ) {
System.out.println("You are a Cancer.");
}
Запуск числа с помощью 0 означает, что он интерпретируется как восьмеричный, что делает "9" неверной цифрой.
Ввод номера не сохраняет ведущий 0. Если вы введете 0123, а затем распечатаете d, вы увидите "123.0",
Просто избавьтесь от всех ведущих 0s.
Итак, вы получите следующее:
import java.util.Scanner;
class Untitled {
public static void main(String[] args) {
System.out.println("Please enter your birthday month and day as a four digit number");
System.out.println("(Ex: 0514 for May 14th):");
Scanner key = new Scanner(System.in);
double d = key.nextDouble();
if (d >= 101 && d <= 120) {
System.out.println("You are a Capricorn.");
}
else if (d >= 121 && d <= 219) {
System.out.println("You are an Aquarius.");
}
else if (d >= 220 && d <= 320) {
System.out.println("You are a Pisces.");
}
else if (d >= 321 && d <= 420) {
System.out.println("You are an Aries.");
}
else if (d >= 421 && d <= 521) {
System.out.println("You are a Taurus.");
}
else if (d >= 522 && d <= 621 ) {
System.out.println("You are a Gemini.");
}
else if (d >= 622 && d <= 723 ) {
System.out.println("You are a Cancer.");
}
}
}