
这个简单JAVA程序错在哪里??
这一个方法publicstaticintgetDay(intyear,intmonth){if(month==1||month==3||month==5)return31...
这一个方法
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
if(month==4||month==6)
return 30;
}
这个方法还没写全,主要就是要用这个方法返回一个月的天数
当month为1、3、5…………就返回31
我这样写应该对吧
可是为什么运行时出错
提示是“必须返回一个int类型的值”
返回的31 30 不就是int 类型吗??? 展开
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
if(month==4||month==6)
return 30;
}
这个方法还没写全,主要就是要用这个方法返回一个月的天数
当month为1、3、5…………就返回31
我这样写应该对吧
可是为什么运行时出错
提示是“必须返回一个int类型的值”
返回的31 30 不就是int 类型吗??? 展开
5个回答
展开全部
public static int getDay(int year ,int month){
int i=0;
if(month==1||month==3||month==5)
return i=31;
if(month==4||month==6)
return i=30;
return i;
}
改为以上这样。原因是:
系统必须确保你有返回一个int值,而如果你将值放在if语句中的话,它会认为“如果if语句都不成立的话,那岂不是没有int值返回了?”,所以,这个情况是不允许的。
还是不明白的话问我^_^
int i=0;
if(month==1||month==3||month==5)
return i=31;
if(month==4||month==6)
return i=30;
return i;
}
改为以上这样。原因是:
系统必须确保你有返回一个int值,而如果你将值放在if语句中的话,它会认为“如果if语句都不成立的话,那岂不是没有int值返回了?”,所以,这个情况是不允许的。
还是不明白的话问我^_^
展开全部
其实程序的意思并不是说你返回的不是int型的值,看看你写的语句,两个if语句,程序会认为还有其他的可能,也就是说如果方法接受了一个月份为7,你要反回什么?程序是考虑到你的语句写的不严谨才报的错,把你的语句改成
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
else if(month==4||month==6)
return 30;
else{
//处理语句
};
}
这样程序就认为你这个方法可以对于任何结果都有一个相对应的结果,就不会有问题了。
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
else if(month==4||month==6)
return 30;
else{
//处理语句
};
}
这样程序就认为你这个方法可以对于任何结果都有一个相对应的结果,就不会有问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的
如果你输入的不是13546那么结果不就是什么也不返回了么。
改成
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
if(month==4||month==6)
return 30;
else return 28;
}
如果你输入的不是13546那么结果不就是什么也不返回了么。
改成
public static int getDay(int year ,int month){
if(month==1||month==3||month==5)
return 31;
if(month==4||month==6)
return 30;
else return 28;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上代码应该是没问题,还是你在调用此方法时用来保存此方法的类型不是int型的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的返回语句都放在了if语句中,如果if都不成立,不就没有返回值了,程序不够严谨,你应该用一个变量来存储要返回的值,然后把最终结果返回就行了,1楼正解,2、3、4楼的不要忽悠人。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询