如何定义一个返回值为字符串类型的方法???

Java_xggm 2006-12-19 05:48:54
我刚学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学习群吗,哪位大哥愿意收留我?
...全文
1638 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java_xggm 2006-12-21
  • 打赏
  • 举报
回复
满意满意~~~结帖咯~
stefanie84 2006-12-20
  • 打赏
  • 举报
回复
在switch语句中,可能会执行default语句,从而导致你定义的类型对象b没有初始化,而采用
return b;时,此时就会返回一个空指针类型。
再有,你的switch语句少了右括号!以后请多加注意!
cocogg 2006-12-20
  • 打赏
  • 举报
回复
根本的原因不是你是否写成:String b=null,或者String b=""。
而是你的变量B可能不被初始化:
The local variable b may not have been initialized

写成这样也是可以的:
case 4:b="红桃";break;
default:
b=“default”;break;
关键在于你自己的目的


zuoky 2006-12-20
  • 打赏
  • 举报
回复
注意右括号的位置,很多逻辑错误都是在这发生的。
malligator 2006-12-20
  • 打赏
  • 举报
回复
题目中居然一个右括号都没有~
zzwh_0 2006-12-20
  • 打赏
  • 举报
回复
来晚了
xiaodidi_wa 2006-12-20
  • 打赏
  • 举报
回复
public String returnString() {
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;
}
}
Java_xggm 2006-12-20
  • 打赏
  • 举报
回复
这是我第一次在这里发帖~~有这么多朋友帮我解决问题,好兴奋~~~~~~
看来我是找对学java的地方了
^_^^_^^_^嘿嘿~~今天去吃顿饭Happy一下^_^^_^^_^^_^
Java_xggm 2006-12-20
  • 打赏
  • 举报
回复
哎呀呀,谢谢谢谢,我懂了!
原来我出了两个错误:
字符串定义要写成:String b=null,或者String b="",而我写成了String b;.
应该是:
switch(){
……
default:
break;
}
return 参数;
我写成了:
switch(){
……
default:
break;
return 参数;
}
lixiaoxue85 2006-12-20
  • 打赏
  • 举报
回复
unreachable statement
missing return statement
说明你RETURN没放对地方 一般是你没考虑到错误的情况~~发生了错误的话会无返回值
移动或填加下RETURN试下
kinsey0514 2006-12-20
  • 打赏
  • 举报
回复
unreachable statement
你的return放在switch块的break后面,所以程序永远不会运行到这里来

missing return statement
由于你的方法返回值是Sring类型的,但是return 放错了地方,所以程序没有找到你方法的返回语句
qianlei0007 2006-12-19
  • 打赏
  • 举报
回复
statement
你的错误不在这个方法把。。这是操作数据库的。。
ksbry 2006-12-19
  • 打赏
  • 举报
回复
package test1;

public class Testwl {
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();
}
}
kinsey0514 2006-12-19
  • 打赏
  • 举报
回复
public class Card {

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());;
}
}
Java_xggm 2006-12-19
  • 打赏
  • 举报
回复
这到底为什么哦,我真纳闷~~~~

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧