为了账号安全,请及时绑定邮箱和手机立即绑定

求大神。关于java中方法的形参类型赋值问题。

求大神。关于java中方法的形参类型赋值问题。

qq_梦飘雪_03155624 2016-04-13 14:02:28
为什么第一行会报错,是什么问题呢?public int compareNum(String a){ String[]ab={"黑桃","红桃","梅花","方片"}; int f=0; for(int i=101;i<105;i++){ if(a.matches(ab[f])){return i;} else {f++;} }
查看完整描述

4 回答

?
慕村9932254

TA贡献2条经验 获得超0个赞

末尾没有返回值,程序不严谨,

public class Test2 {
	public int compareNum(String a){
		String[]ab={"黑桃","红桃","梅花","方片"};
		int f=0;
		for(int i=101;i<105;i++){
			if(a.matches(ab[f])){
				return i;
			}
			else {
				f++;
			}
		}
		System.out.println("for循环结束");
		return -1;
	}
}

如果看到输出了for循环结束说明有算法上的错误

查看完整回答
反对 回复 2016-04-13
?
蜂之谷

TA贡献564条经验 获得超863个赞

没有 return

查看完整回答
反对 回复 2016-04-13
?
guozhchun

TA贡献103条经验 获得超76个赞

如果这是你函数的全部内容的话。那么有两个错误:第一,少了一个括号 '}' ,第二,函数定义返回值类型为 int ,可是在函数体里面却没有任何返回整数类型的语句(类似 return 3 这种)

查看完整回答
反对 回复 2016-04-13
  • bitamin
    bitamin
    你说得有部分对,他在if(a.matches(ab[f])){return i;}这里返回了如果a.matches(ab[f])这里的方法是true,就返回循环体的i值。不过有个错误是下面的else,else后只是加了f的值,for循环完毕如果都为假,那么就是无返回值,此时报错。还有建议题主贴出所有代码和错误提示。
  • guozhchun
    guozhchun
    你说得对,是我粗心没看到
  • 4 回答
  • 1 关注
  • 2041 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信