Я работаю над проектом домашней работы для вводного Java-класса, в котором мне поручено создать класс и метод для проверки того, является ли год ввода високосным или нет.Я видел множество примеров людей, делающих это в одной программе, но мы должны создать класс и затем запустить файл Tester моего профессора.Я наконец-то получил все для компиляции без ошибок, но каждый раз, когда я запускаю файл, мне говорят, что это високосный год.Я пробовал кучу разных вещей, и я не могу понять, почему логическое условие at всегда оценивает true (или что-то еще, что я делаю неправильно).
Мой код ниже:
public class Year
{
// declare variable
private int y;
private String year;
// declare constructor
public Year(String theYear, int year_input)
{
y=year_input;
theYear=year;
}
// ensure y has a value
public Year(int y)
{
y=0;
}
// test if y is a leap year
public boolean isLeapYear()
{
if (y%4==0 && (y/100!=0 || y%400==0))
{
return true;
}
return false;
}
}
и код моего профессора здесь:
import java.util.Scanner;
public class LeapYearTester{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("Please enter a year");
int year_input = input.nextInt();
// now make a Year object
Year theYear = new Year(year_input);
// now check to see if it's a leap year
if (theYear.isLeapYear())
System.out.println("That's a leap year!");
else
System.out.println("That's not a leap year!");
}
}