程序功能计算月份所对应的天数public class Calc {
/**
* 计算是否为润年
* @param year
* @return
*/
public boolean calcYear(int year) {
if (year % 4 == 0 & year % 400 != 0) {
//System.out.println(year + "\t" + "润年");
return true; } else {
//System.out.println(year + "\t" + "平年");
return false;
}
}
/**
* 计算月份对应的天数, LeapYear为真表示润年
*/ public int calcday(int month,boolean LeapYear){
switch(month){
case 1:
return 31;
break;
case 2:
if(LeapYear){
return 28;
}else{
return 29;
}
break;
default :
return 0; //红色字体为出错处
}
}入口程序
import java.util.*;
public class example1{
public static void main(String[] args){
Calc calc=new Calc();
System.out.println("请输入年份:");
Scanner input=new Scanner(System.in);
int year=input.nextInt();
System.out.println("请输入月份:");
int month=input.nextInt();
boolean leapYear=calc.calcYear(year);
int day=calc.calcday(month, leapYear);
if (leapYear){
System.out.print(year+"\t"+"润年\t"+month+"月份\t"+day+"天");
}
}
}在swith中,加上break 语句,defaul语句,提示:
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
不可达代码
不可达代码 at Calc.calcday(Calc.java:24)
at example1.main(example1.java:11)这咋弄呀!
/**
* 计算是否为润年
* @param year
* @return
*/
public boolean calcYear(int year) {
if (year % 4 == 0 & year % 400 != 0) {
//System.out.println(year + "\t" + "润年");
return true; } else {
//System.out.println(year + "\t" + "平年");
return false;
}
}
/**
* 计算月份对应的天数, LeapYear为真表示润年
*/ public int calcday(int month,boolean LeapYear){
switch(month){
case 1:
return 31;
break;
case 2:
if(LeapYear){
return 28;
}else{
return 29;
}
break;
default :
return 0; //红色字体为出错处
}
}入口程序
import java.util.*;
public class example1{
public static void main(String[] args){
Calc calc=new Calc();
System.out.println("请输入年份:");
Scanner input=new Scanner(System.in);
int year=input.nextInt();
System.out.println("请输入月份:");
int month=input.nextInt();
boolean leapYear=calc.calcYear(year);
int day=calc.calcday(month, leapYear);
if (leapYear){
System.out.print(year+"\t"+"润年\t"+month+"月份\t"+day+"天");
}
}
}在swith中,加上break 语句,defaul语句,提示:
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
不可达代码
不可达代码 at Calc.calcday(Calc.java:24)
at example1.main(example1.java:11)这咋弄呀!
return 31;
break;
return了结束了该方法 你还break什么
不加dafault好像也报错呢?
问题在这calc.calcYear(year);返回的是整型,你不能用boolean 型接受
boolean leapYear=calc.calcYear(year);
"unreachable code" errorint test() {
System.out.print("1");
return 0;
System.out.print("2");你编译下就知道是和你一样的错误,因为编译器知道System.out.print("2");永远不可能被执行