java 计算当天是今年的第几天

  • Post author:
  • Post category:java




java 计算当天是今年的第几天



首先来看下例题 :有三个常见例题,从这每个方法中分析参数、接收返回类型,以及知识点的使用调取方法等
package com.XXX.XXX;
import java.util.Scanner;

/**
 * @program: Demo11_20For
 * @description:
 * @author: Mr.Jing
 * @create: 2020-11-20 19:12
 **/
public class Demo01 {

    public static void main(String[] args) {
        /*1.复习循环,与方法定义的基础语法
          2.1).打印水仙花数。
                提示:水仙花数指一个三位整数,其各位数的立方和等于该数本身。
                例如:153=1*1*1 + 5*5*5 + 3*3*3
            2)键盘输入一个年份,判断是平年还是闰年
                闰年:能被4整除但不能被100整除或者能被400整除
            3)输入年月日,判断这一天是该年的第几天,距离该年结束还有多少天

         */
        Scanner scanner=new Scanner(System.in);
            System.out.println("------------题1------------");
            shuiXianHua();//调取方法---打印水仙花数
            System.out.println();
        
            System.out.println("------------题2------------");
            System.out.print("请输入一个年份判断是闰年还是平年-->:");
            int year2 = scanner.nextInt();
            System.out.println(year(year2)+"\n");//调取方法--平年还是闰年
        
            System.out.println("------------题3--------------");
            System.out.println("请输入一个年份:");
            int year = scanner.nextInt();
            System.out.println("请输入一个月份:");
            int mouth = scanner.nextInt();
            System.out.println("请输入一个日期:");
            int day = scanner.nextInt();
            yearYueDay(year,mouth,day);//调取方法

}

    /**
     * 输入年月日,判断这一天是该年的第几天,距离该年结束还有多少天
     * @param year
     * @param month
     * @param day
     * @return
     */
    public static void yearMonthDay(int year,int month,int day){
        int days = 0;//接收该年的第几天
        int dayEnd=0;//束还有多少天
        //天数的计算
        for (int i = 1; i < month; i++) {
             switch (i) {
                 //月份为31天的
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    days += 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    days += 31;
                    break;
                case 2:
                    if ((year%4==0 && year%100!=0) || year%400==0) {// 是闰年
                        days += 29;
                    } else {// 不是闰年
                        days += 28;
                    }
             }
        }
        days += day;
        if (year%400==0 || (year%4==0 && year%100!=0)) {// 是闰年
            dayEnd=366-days;
        } else {// 不是闰年
            dayEnd=365-days;
        }
        System.err.println("今天是" + year + "年的第" + days + "天,距离+"+year+"年结束还有"+dayEnd+"天");
    }

    /**
     *键盘输入一个年份,判断是平年还是闰年
     *                 闰年:能被4整除但不能被100整除或者能被400整除
     * @param year 输入的一个年份
     * @return String类型变量名:st
     */
    public static String year(int year){
        String st=null;
        if((year%4==0 && year%100!=0) || year%400==0 ){
            st=year+":是闰年!";
            return st;
        }else {
            st=year+":是平年!";
            return st;
        }
    }

    /**
     * 1).打印水仙花数。
     * 提示:水仙花数指一个三位整数,其各位数的立方和等于该数本身。
     *                 例如:153=1*1*1 + 5*5*5 + 3*3*3
     */
    public static  void  shuiXianHua(){
        int x,y,z;
        for(int i=100;i<=999;++i){
            x=i%10;
            y=(i%100)/10;
            z=i/100;
            if(x*x*x+y*y*y+z*z*z==i)
                System.out.println(x+"*"+x+"*"+x+"+"+y+"*"+y+"*"+y+"+"+z+"*"+z+"*"+z+"="+i);

        }
    }
}



运行后结果展示

在这里插入图片描述



版权声明:本文为qq_43732592原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。