用switch语句编写JAVA程序,实现输入年份,月份,显示该月天数?

例如闰年二月是29天. 平时的二月就是28天..

求各位大神帮忙~~

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;

}

}

else{

switch [m]{

case '2'

return d=28;

break;

case '1'

case '3'

case '5'

case '7'

case '8'

case '10'

case '12'

return d=31;

default: return d=30;

扩展质料:

switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。 break语句是必须有的,它用来结束switch语句的执行。

如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值川0执行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。 

可见,一个switch语句可以代替多个if-else语句组成的分支结构,而switch语句从思路上显得更清晰。 

使用switch语句时,要注意expr1必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,//(也不能为一个字符串)。

参考资料:switch-百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-14
我用Eclipse刚给你写的程序,已经验证合格,运行结果正确,楼主可以贴过去运行下,望采纳。

import java.util.*;
public class Baidu001 {
public static void main(String[] args)
{
int year,month;
Scanner in = new Scanner(System.in);
System.out.println("请输入年份(四位数):");
year = in.nextInt();
System.out.println("请输入月份(1~12)");
month = in.nextInt();
//判断是否为闰年也恰好查询2月份天数
if(year%100 == 0 && year%400 == 0 && month == 2)
System.out.println(29);
else{
switch (month)
{
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;
}
}

}
}追问

先谢谢了. 如果用对话框输出应该怎么改?

例如根据用户输入. 输出为2003年2月有XX天.

对话框输出应该怎么改?

追答

文件头部添加新导入的包,就是这个代码:
import javax.swing.JOptionPane;
将switch语句中的:System.out.println(28)变成:
JOptionPane.showMessageDialog(null, year+"年"+month+"月"+"有28天")

30和31就是将28替换即可。就是对话框输出你要求的这句话。
你快去试试看吧!很高兴帮助你!最好能给我加3~5分奖励,哈哈~

本回答被提问者采纳
第2个回答  2013-02-10
if((year%4==0&&year%100!=0)||(year%400==0))
{
闰年

}
else
{
平年

}
第3个回答  2013-02-10
用个if就好了,不用switch那么麻烦。追问

能不能附上代码....求大神帮忙~

第4个回答  2013-02-10
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;
}
}
else{
switch [m]{
case '2'
return d=28;
break;
case '1'
case '3'
case '5'
case '7'
case '8'
case '10'
case '12'
return d=31;
default: return d=30;
}
}
}
}本回答被网友采纳

用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编写:输入任意年份和月份,输出对应月份的天数。
用 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 !...

使用switch-case语句编程实现功能:输入一个月份数字,打印输出对应的天数...
import java.util.Scanner;public class sy { public static void main(String args[]) { Scanner scanner = new Scanner(System.in);System.out.print("请输入年份:");int year = scanner.nextInt();System.out.print("请输入月份:");int mouth = scanner.nextInt();if (year % 400 ==...

用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 ...

...12之间的整数,用switch语句输出对应月份的天数?
("你输入的月份错误,请重新输入");\\x0d\\x0acontinue;\\x0d\\x0a}\\x0d\\x0atemp=false;\\x0d\\x0a}\\x0d\\x0aint dayOfMonth = 0;\\x0d\\x0aswitch (num) {\\x0d\\x0acase 1:\\x0d\\x0adayOfMonth=31;\\x0d\\x0abreak;\\x0d\\x0a...

输入年份月份,打印输出当月日历 用java
public class java { public static void main(String[] args) throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入年份:");String s1=buf.readLine();System.out.println("请输入月份: ");String s2=buf.readLine();int ...

...输入的一个1~12之间的整数,利用Switch语句输出对应月份的天数...
public static void main(String[] args) { Scanner scan = new Scanner(System.in);int i = scan.nextInt();if (i<1&&i>12) { System.out.println("请重新输入月份");i = scan.nextInt();} switch(i){ case 1: System.out.println("本月有31天");break;case 2: System.out....

java输出一月到十二月每月的天数
switch(month) \/*先计算某月以前月份的总天数*\/{case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11...

编写Java程序,使用switch语句实现判断月份i有几天
编写Java程序,使用switch语句实现判断月份i有几天。不用考虑闰年。 importjava.util.Scanner;publicclassChargeMouth {publicstaticvoid main(String[] args) { }} 执行结果: int c; Scanner scan = newScanner(System.in); System.out.println("请输入想要判断月份的i"); c = scan.nextInt(); ...

编写JAVA程序 接受用户输入1-12之间的整数 若不符合条件则重新输入 利 ...
import java.util.*;public class Demo { public void fun(){ Scanner sc = new Scanner(System.in);try { int data= sc.nextInt();switch(data){ case 1: System.out.println("31 days");break;case 2: System.out.println("28 days");break;case 3: System.out.println("31 days")...

相似回答