用java编写:输入任意年份和月份,输出对应月份的天数。

用switch case....

用 java编写:输入任意年份和月份,输出对应月份的天数,首先判断输入年份是否是闰年,然后使用switch 方法判断月份,判断代码如下:

public class GetDays { 

public static int getDays(int year, int month) {
int days = 0;
boolean isLeapYear = false;
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
System.out.println("这一年是闰年");
isLeapYear = true;
} else {
System.out.println("这一年不是闰年");
isLeapYear = false;
}
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
if (isLeapYear) {
days = 29;
} else {
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
System.out.println("error!!!");
break;
}
return days;
}
}

扩展资料

在java 语言中switch 语法的使用规则为:

1、switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

2、switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

3、case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

3、当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

参考资料:百度百科—switch

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-30
import java.util.*;public class DateTest2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
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: day = year % 4 == 0 ? 29 : 28;
default : break;
}

System.out.println(year + "年" + month + "月一共有" + day + "天");
}
} //已经测试过了,是对的本回答被网友采纳
第2个回答  2020-06-19
import java.util.Scanner;
public class test04 {
public static void main(String[] args) {
System.out.println("请输入一个月份:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
switch(a)
{
case 2:System.out.println(28);break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:System.out.println(31);break;
case 4:
case 6:
case 9:
case 11:System.out.println(30);break;
default:System.out.println("输入错误!");
a = sc.nextInt();
}
}
}
第3个回答  2013-08-30
楼上的写的没什么问题,可是你的算法中有一个失误,那就是年份为100的倍数时,要能够整除400才能是29天,所以 “”“case 2: day = year % 4 == 0 ? 29 : 28;”“” 这一句要改为 """ case 2 : day = year % 100==0 ? year % 400== 0 ? 29 : 28 : year % 4 == 0 ? 29 : 28;""本回答被网友采纳

用java编写:输入任意年份和月份,输出对应月份的天数。
用 java编写:输入任意年份和月份,输出对应月份的天数,首先判断输入年份是否是闰年,然后使用switch 方法判断月份,判断代码如下:public class GetDays { public static int getDays(int year, int month) {int days = 0;boolean isLeapYear = false;if (((year % 4 == 0) && (year % 100 !...

用Java编写 输入年与月,来判定该月一共有多少天 比如2008年2月 2008年...
System.out.println("请输入年份:");int year = scanner.nextInt();System.out.println("请输入月份:");int month = scanner.nextInt();\/\/ 调用JudgeDay类的dayOfMonth()方法获取该月的天数 int maxDay = JudgeDay.dayOfMonth(year, month);\/\/ 输出该月的天数 System.out.println(year +...

用switch语句编写JAVA程序,实现输入年份,月份,显示该月天数?
int y; \/\/ year可以随便设定 int m; \/\/month可以随便设定 int d=0; \/\/day设默认 int i=0;for(i < 2000; i++){ if(y==4i){ switch [m]{ case '2'return d=29;break;case '1'case '3'case '5'case '7'case '8'case '10'case '12'return d=31;default: return d=30...

java输出一月到十二月每月的天数
以2月10日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。源代码:include "stdio.h"include "stdlib.h"int main(){int day,month,year,sum,leap;printf("\\nplease input year,month,day\\n");scanf("%d,%d,%d",&year,...

用java程序写出 接收一个年份和一个月份,判断得出该月的总天数。(用i...
import java.util.*;public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in);System.out.println("请输入年份");int year = input.nextInt();System.out.println("请输入月份");int month = input.nextInt();if(month==2){ if (((year ...

用java输入年份月份输出,该月第一天是星期几。
import java.util.Scanner;public class wnl { \/ param args \/ public static void main(String[] args) { \/\/ TODO 自动生成方法存根 int totalDay=0; \/\/计算总天数 int dayOfWeek;\/\/保存当月第一天是星期几 int day=0 ; \/\/当月的天数 int dayOfYear=0; \/\/保存用户输入的年月之前的天数 Sca...

Java编写程序完成输人年份和月份,计算指定年份中的天数并含代码注解...
\/** * 在一个时间段计算出多少天 * @param beginDate 开始时间 * @param endDate 结束时间 * @param format 格式 如果 yyyy-MM-dd;yyyy * @return 天数 *\/public static int getDay(String beginDate, String endDate, String format) {try {\/\/ 日期操作类,设置制定的格式SimpleDateFormat...

Java输入月份 循环打印出该月的天数 比如1月1日,1月2日,1月3日...1...
import java.util.Scanner;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(System.in);System.out.print("请输入年、月(以空格分隔,如2016 8)");y=sc.nextInt();m=...

java根据年月获取对应的月份工作日天数
import java.util.Calendar;public class Main { public static void main(String[] args) { System.out.println(countWorkDay(2018, 6)); } \/** * 获取指定年月有多少个工作日) * * @param year * @param month * @return *\/ public static int countWo...

java编程!输入某年某月,判断这一年与这一月分别距离1900年1月1日多少...
import java.util.Scanner;public class test2 { public static void main(String[] args) { Scanner s = new Scanner(System.in);System.out.print("请选择年份:");int year = s.nextInt();\/\/ 输入的年 System.out.print("请选择月份:");int month = s.nextInt();\/\/ 输入的月 s....

相似回答