怎样得到当前月份的天数(Java)

怎样得到当前月份的天数(Java),第1张

public static int getDayOfMonth(){

Calendar aCalendar = CalendargetInstance(LocaleCHINA);

int day=aCalendargetActualMaximum(CalendarDATE);

return day;

}

这是获取的一个月的最大的天数。。。。

import javautilScanner;

public class P {

public static void main(String[] args) {

final int[] month={31,28,31,30,31,30,31,31,30,31,30,31};

int y,m,s;

Scanner sc=new Scanner(Systemin);

Systemoutprint("请输入年、月(以空格分隔,如2016 8)");

y=scnextInt();

m=scnextInt();

s=month[m-1];

if(2==m && (0==y%400 || (0==y%4 && 0!=y%100)))

s+=1;

for(int i=1;i<s;i++)

Systemoutprint(""+m+"月"+i+"日,");

Systemoutprintln(""+m+"月"+s+"日");

scclose();

}

}

import javautil;

public class Test {

public static void main(String[] args) {

Scanner input = new Scanner(Systemin);

Systemoutprintln("请输入年份");

int year = inputnextInt();

Systemoutprintln("请输入月份");

int month = inputnextInt();

if(month==2){

if (((year % 100 == 0) && (year % 400 == 0))

|| ((year % 100 != 0) && (year % 4 == 0))) {

Systemoutprintln(month+"月份天数是29天");

return;

}else {

Systemoutprintln(month+"月份天数是28天");

return;

}

}else if(month%2==0 ) {

Systemoutprintln(month+"月份是30天");

}else if(month%2!=0) {

Systemoutprintln(month+"月份是31天");

}

}

}

程序就自己写吧,告诉你一个思路。先判断月份是否为2月,如果是的话判断年是否为闰年,若为闰年2月为29天,若不是闰年为28天;如果要判断的月份不是2月,判断其是否为1,3,5,7,8,10,12,若是其中的一个则为31天,剩余的月份为30天

import javautilCalendar;

public class Main {

    public static void main(String[] args) {

        Systemoutprintln(countWorkDay(2018, 6));

    }

    /

      获取指定年月有多少个工作日)

     

      @param year

      @param month

      @return

     /

    public static int countWorkDay(int year, int month) {

        Calendar c = CalendargetInstance();

        cset(CalendarYEAR, year);

        // 月份是从0开始计算,所以需要减1

        cset(CalendarMONTH, month - 1);

        // 当月最后一天的日期

        int max = cgetActualMaximum(CalendarDAY_OF_MONTH);

        // 开始日期为1号

        int start = 1;

        // 计数

        int count = 0;

        while (start <= max) {

            cset(CalendarDAY_OF_MONTH, start);

            if (isWorkDay(c)) {

                count++;

            }

            start++;

        }

        return count;

    }

    // 判断是否工作日(未排除法定节假日,由于涉及到农历节日,处理很麻烦)

    public static boolean isWorkDay(Calendar c) {

        // 获取星期,1~7,其中1代表星期日,2代表星期一  7代表星期六

        int week = cget(CalendarDAY_OF_WEEK);

        // 不是周六和周日的都认为是工作日

        return week != CalendarSUNDAY && week != CalendarSATURDAY;

    }

}

看代码:

import javautilScanner;

public class Demo {

public static void main(String[] args) throws Exception {

try (Scanner in = new Scanner(Systemin)) {

Systemoutprintln("输入年份和月份:");

int year = innextInt();

int month = innextInt();

int day = 0;

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day = 31;

break;

case 4:

case 6:

case 9:

case 11:

day = 30;

break;

case 2:

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {

day = 29;

} else {

day = 28;

}

break;

default:

Systemerrprintln("输入月份有误");

break;

}

Systemoutprintf("%d 年 %d 月有 %d 天\n", year, month, day);

}

}

}

运行:

   

错误的不少呢,修改如下:

import javaxswingJOptionPane;

public class Year {

public static void main(String[] args) {

String yearString = JOptionPaneshowInputDialog(null, "请输入您要查找的年份");

String monthString = JOptionPaneshowInputDialog(null, "请输入您要查找的月份:");

int daysOfMonth = 0;

int year = IntegerparseInt(yearString);

int month = IntegerparseInt(monthString);

switch (month) {

case 1:

daysOfMonth = 31;

break;

case 2:

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

daysOfMonth = 29;

} else

daysOfMonth = 28;

break;

case 3:

daysOfMonth = 31;

break;

case 4:

daysOfMonth = 30;

break;

case 5:

daysOfMonth = 31;

break;

case 6:

daysOfMonth = 30;

break;

case 7:

daysOfMonth = 31;

break;

case 8:

daysOfMonth = 31;

break;

case 9:

daysOfMonth = 30;

break;

case 10:

daysOfMonth = 31;

break;

case 11:

daysOfMonth = 30;

break;

case 12:

daysOfMonth = 31;

break;

default:

break;

}

;

JOptionPaneshowMessageDialog(null, "这个月份总共的天数是" + daysOfMonth);

Systemoutprintln("您输入的年份是:" + yearString + "\n您输入的月份是:" + monthString + "\n这个月份总共的天数是:" + daysOfMonth);

}

}

以上就是关于怎样得到当前月份的天数(Java)全部的内容,包括:怎样得到当前月份的天数(Java)、Java输入月份 循环打印出该月的天数 比如1月1日,1月2日,1月3日......1月31日、用java程序写出 接收一个年份和一个月份,判断得出该月的总天数。(用if语句完成)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9876284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存