问题描述
packagetest;importjava.util.Scanner;publicclassNoname22{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("请输入您要出的拳:");intUser=input.nextInt();intComputer=(int)(1+Math.random()*3);intFruit=User-Computer;if(Fruit<0){Fruit*=-1;}System.out.println(Fruit);switch(Fruit){case1:System.out.println("您出的拳是:"+a.switch1(User)+"t电脑出的拳是:"+Computer+"t结果是:您获胜");break;case2:System.out.println("您出的拳是:"+a.switch1(User)+"t电脑出的拳是:"+Computer+"t结果是:电脑获胜");break;case0:System.out.println("您出的拳是:"+a.switch1(User)+"t电脑出的拳是:"+Computer+"t结果是:平局");break;}}}classarr{publicstaticvoidswitch1(inti){switch(i){case1:System.out.print("石头");break;case2:System.out.print("剪刀");break;case3:System.out.print("布");break;}}}
解决方案
解决方案二:
arr这个类中的switch1这个方法没有返回值然后在上一个类中又用string+void这个肯定是不行的
解决方案三:
publicstaticvoidswitch1(inti){switch(i){case1:return"石头";}}依次改成这种形式!
解决方案四:
上面错了一个地方,这个是正确的。publicstaticStringswitch1(inti){switch(i){case1:return"石头";}}
解决方案五:
引用3楼littlebrain4solving的回复:
上面错了一个地方,这个是正确的。publicstaticStringswitch1(inti){switch(i){case1:return"石头";}}
这个也是错误的,如果i不是1,返回什么
解决方案六:
要有一个默认返回值(switch加一个default,或者直接在switch外面加一个return语句)
解决方案七:
把switch1方法的返回值类型改为string然后把case里面的system语句改为return语句
解决方案八:
classarr{publicstaticStringswitch1(inti){switch(i){case1:return"石头";case2:return"剪刀";case3:return"布";}return"";}
解决方案九:
这个样子的?
解决方案十:
publicstaticStringswitch1(inti){switch(i){case1:return"石头";}return"there'snoanyvaluesforusing,pleasecheckmethodSwitch1injavasourcecode";}
解决方案十一:
引用8楼qq346050608的回复:
这个样子的?
是的,不过要加上break