Java 使用方法计算闰年

Java 使用方法计算闰年,java,class,methods,leap-year,Java,Class,Methods,Leap Year,以上内容为主要内容,不可更改。与类有问题。 < P> >除了添加一个检查来查看用户是否输入了有效的年份(在这种情况下,在1000到2999之间),使用ReGEX,我没有对您的原始尝试进行任何修改。我将把它作为一个任务来修改您认为有效的一年的代码: 用法示例:测试闰年 用法示例:无效输入和测试非闰年 如果上课有问题,试试看。哪门课有什么问题?我很同情你。现在你的问题是什么?为什么新手经常在没有阅读网站规则和要求的情况下提问,所有这些都很容易在本节中找到?原始海报,这个问题需要改进,包括努力描述你的

以上内容为主要内容,不可更改。与类有问题。

< P> >除了添加一个检查来查看用户是否输入了有效的年份(在这种情况下,在1000到2999之间),使用ReGEX,我没有对您的原始尝试进行任何修改。我将把它作为一个任务来修改您认为有效的一年的代码:

用法示例:测试闰年

用法示例:无效输入和测试非闰年


如果上课有问题,试试看。哪门课有什么问题?我很同情你。现在你的问题是什么?为什么新手经常在没有阅读网站规则和要求的情况下提问,所有这些都很容易在本节中找到?原始海报,这个问题需要改进,包括努力描述你的代码,你的问题,并提出一个具体的问题。气垫船:为什么我们仍然感到奇怪?请注意,我对x的问题不是一个真正的问题-请看。1752年不是第一个闰年。早在1582年,世界上一些地方就开始使用公历。但除此之外,朱利安历法也有闰年,可以追溯到公元前45年。此外,在计算中,我们经常使用公历系统,它假设我们一直是公历。不管你怎么看,我们已经拥有它们很长时间了。1752年是英国和美洲殖民地采用公历的时候。顺便说一句,这些都在维基百科上。
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!");
   }
}


    public class Year
    {
    // declare your instance variables here
    private int theYear;
    private int Year;

    // write your constructor here
    public Year(int y)
    {
    y=Year;
    }
    static boolean isLeapYear(final int Year) {
    return Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0);
    //(((Year%4==0) || (Year%400)) && ((!Year%100==0) || (Year%400=0)))  
    }

}    
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class LeapYearTester {
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.print("Please enter a year: ");
    String yearInput = "";
    String pattern = "^[12][0-9]{3}$";
    Pattern r = Pattern.compile(pattern);
    //checking is valid year
    while(input.hasNext()){
      yearInput = input.nextLine();
      Matcher m = r.matcher(yearInput);
      if(m.find()) {
        System.out.println("You entered the valid year: " + m.group(0));
        break;
      } else {
        System.out.println("Error: Not a valid year");
        System.out.print("Please enter a year between 1000 and 2999 inclusive: ");
      }
    }

    Year theYear = new Year(Integer.valueOf(yearInput));

    if(theYear.isLeapYear()) { 
      System.out.println("That's a leap year!");
    } else {
      System.out.println("That's not a leap year!");
    }
  }

  public static class Year {
    private int year;

    private Year(int y) {
      year = y;
    }

    private boolean isLeapYear() {
      if (year % 4 != 0) {
        return false;
      } else if (year % 400 == 0) {
        return true;
      } else if (year % 100 == 0) {
        return false;
      } else {
        return true;
      }
    }
  }
}
Please enter a year:  2016
You entered the valid year: 2016
That's a leap year!
Please enter a year:  3000
Error: Not a valid year
Please enter a year between 1000 and 2999 inclusive:  2015
You entered the valid year: 2015
That's not a leap year!