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 版权协议,转载请附上原文出处链接和本声明。