0
Я пытаюсь создать программу, которая может принимать ввод нескольких високосных лет в строке по массиву, а затем выводить, являются ли они високосными годами или нет в их собственных отдельных строках. Я не могу понять проблему. Вот мой код.Как использовать массивы в поиске високосного года
import java.util.Scanner;
public class LeapYear2 {
static boolean[] leapYearStatus = new boolean[10];
public static void main(String[] args) {
System.out.println("Enter consecutive years above 1582 with");
System.out.println("spaces separating them then press enter.");
Scanner scan = new Scanner(System.in);
String input = scan.nextLine()+ " ";
String[] inputString = new String[input.length()/5];
int[] inputValues = new int[input.length()/5];
inputString = input.split("\\s+");
for (int i =0; i < input.length()/5;i++)
inputValues[i] = Integer.parseInt(inputString[i]);
LeapYear2 check = new LeapYear2();
check.checkLeap(inputValues);
check.output(leapYearStatus, inputValues);
scan.close();
}
public void checkLeap(int value[]) {
for (int i = 0; i < value.length; i++) {
if (value[i] % 4 == 0)
if (value[i] % 400 == 0)
leapYearStatus[i] = true;
else if (value[i] % 100 == 0)
leapYearStatus[i] = false;
}
}
public void output(boolean[] leapYearStatus, int value[]) {
for(int i = 0; i < value.length; i++)
if(leapYearStatus[i] && value[i] > 1582){
System.out.println(value[i] + " is a leap year!");
}else if(!leapYearStatus[i] && value[i] > 1582){
System.out.println(value[i] + " is not a leap year.");
}else {
System.out.println(value[i] + " is too small! (<= 1582)");
}
}
}
Начнем на один шаг до этого. Что вы вкладываете в программу? Каков ваш ожидаемый результат? Почему это отличается от того, что вы ожидаете? – Makoto
Я пытаюсь ввести в программу строку лет, разделенных пробелами. Например: «2003 3049 1253 5432 3241». Затем выведите такой вывод, который требуется каждый год, и укажет, является ли год более крупным и является ли он високосным годом или нет. Пример: «2012 год не високосный год». –
Хорошо. Так почему вы думаете, что это сломано? – Makoto