java方法总是报缺少返回语句!

2025-12-16 22:42:43
推荐回答(5个)
回答1:

改成:

public static int getHashCode(char a){
int flag=0;
int subscript=0;
char[] zu1=new char[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char[] zu2=new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
for(int i=0;i if(a==zu1[i]){
subscript=i;
}
if(a==zu2[i]){
flag=1;
subscript=i;
}
}
if(flag==1){
return subscript+1+65;
}
return subscript+1+97;
}

回答2:

在最后再加一个return 0;,这是因为咱们知道flag只会为1或 0,但是编译器不知道,它不知道那两个return语句必有一个会执行,那只好给它加一个永远不会执行的返回语句了。

回答3:

你必须在语法上保证有一个有return执行,把else if改成else就可以了。

回答4:

把else if(flag==1)中的if(flag==1)去掉即可

回答5:

return subscript+1+65;
return 0;//这里加return 0;
}
}