我刚学JAVA,有个习题要求编写一个随机发3张牌的程序,我在其中定义了一个方法,想让其返回花色,我是这样做的。
public String huase(){
int a=1+(int)(Math.random()*4);
String b;
switch(a){
case 1:b="梅花";break;
case 2:b="方块";break;
case 3:b="黑桃";break;
case 4:b="红桃";break;
default:
break;
return b;
*****
结果编译报错!!!
unreachable statement
missing return statement
****
有JAVA学习群吗,哪位大哥愿意收留我?
public String huase(){
int a=1+(int)(Math.random()*4);
String b;
switch(a){
case 1:b="梅花";break;
case 2:b="方块";break;
case 3:b="黑桃";break;
case 4:b="红桃";break;
default:
break;
return b;
*****
结果编译报错!!!
unreachable statement
missing return statement
****
有JAVA学习群吗,哪位大哥愿意收留我?
public String huase(){
int a=1+(int)(Math.random()*4);
String b="";
switch(a){
case 1:b="梅花";break;
case 2:b="方块";break;
case 3:b="黑桃";break;
case 4:b="红桃";break;
default:
break;
}
return b;
}
public static void main(String[] args) {
Card c=new Card();
System.out.println(c.huase());;
}
}
public String huase(){
int a=1+(int)(Math.random()*4);
String b = null;
switch(a){
case 1:b="梅花";break;
case 2:b="方块";break;
case 3:b="黑桃";break;
case 4:b="红桃";break;
default:
break;
}
System.out.println(b);
return b;
}
public static void main(String args[]){
Testwl tt=new Testwl();
tt.huase();
}
}
你的错误不在这个方法把。。这是操作数据库的。。
你的return放在switch块的break后面,所以程序永远不会运行到这里来missing return statement
由于你的方法返回值是Sring类型的,但是return 放错了地方,所以程序没有找到你方法的返回语句
missing return statement
说明你RETURN没放对地方 一般是你没考虑到错误的情况~~发生了错误的话会无返回值
移动或填加下RETURN试下
原来我出了两个错误:
字符串定义要写成:String b=null,或者String b="",而我写成了String b;.
应该是:
switch(){
……
default:
break;
}
return 参数;
我写成了:
switch(){
……
default:
break;
return 参数;
}
看来我是找对学java的地方了
^_^^_^^_^嘿嘿~~今天去吃顿饭Happy一下^_^^_^^_^^_^
String s = ""; int random = new Random().nextInt(4); switch (random) {
case 0:
s = "fangkuai";
break;
case 1:
s = "hongtao";
break;
case 2:
s = "caohua";
break;
case 3:
s = "hongtao";
break;
} return s;
}
}
而是你的变量B可能不被初始化:
The local variable b may not have been initialized写成这样也是可以的:
case 4:b="红桃";break;
default:
b=“default”;break;
关键在于你自己的目的
return b;时,此时就会返回一个空指针类型。
再有,你的switch语句少了右括号!以后请多加注意!