问题描述
packagejava.unil;importjava.util.*;publicclassYonghu{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);System.out.println("-------猜拳游戏-------");System.out.println("1-剪刀,2-石头,3-布");intperson=in.nextInt();intcomputer=(int)(Math.random()*3+1);Stringmark="拳头";Stringmark2="拳头";switch(person){case1:mark="剪刀";break;case2:mark="石头";break;case3:mark="布";break;}switch(computer){case1:mark2="剪刀";break;case2:mark2="石头";break;case3:mark2="布";break;}if(computer==person){System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",平局");}elseif(computer==1&&person==2||computer==2&&person==3||computer==3&&person==1){System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你赢了");}elseSystem.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你输了");}}
解决方案
解决方案二:
代码没有错,主要是看你想表什么样的逻辑。
解决方案三:
没有看,运行下如果出错错误信息贴出来
解决方案四:
没问题。。。
解决方案五:
一个猜拳游戏,没问题
解决方案六:
有没有错你运行一下不就知道了么,还废啥劲贴出来。
解决方案七:
没有问题。。。。。
解决方案八:
我是新手修改了一点点我感觉这样好点,嘿嘿importjava.util.*;publicclasski{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);System.out.println("-------猜拳游戏-------");System.out.println("1-剪刀,2-石头,3-布");intperson=in.nextInt();intcomputer=(int)(Math.random()*3+1);Stringmark="拳头";Stringmark2="拳头";switch(person){case1:mark="剪刀";break;case2:mark="石头";break;case3:mark="布";break;default:System.out.println();//加了个未知数}switch(computer){case1:mark2="剪刀";break;case2:mark2="石头";break;case3:mark2="布";break;}if(computer==person)System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",平局");elseif(computer==1&&person==2&&computer==2&&person==3&&computer==3&&person==1)System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你赢了");elseif(computer==1&&person==3&&computer==2&&person==1&&computer==3&&person==2)System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你输了");elseSystem.out.println("你出的是未知数请从新输入");}}
解决方案九:
解决方案十:
最好做一个异常处理,如果我输入的不是数字而是其他的字节。那么,在你的程序中就会报错,修改后:如下!Scannerin=newScanner(System.in);System.out.println("-------猜拳游戏-------");System.out.println("1-剪刀,2-石头,3-布");intperson=0;try{person=in.nextInt();}catch(InputMismatchExceptione){//TODO:handleexceptionSystem.err.println("请输入数字!");System.exit(0);}intcomputer=(int)(Math.random()*3+1);Stringmark="拳头";Stringmark2="拳头";switch(person){case1:mark="剪刀";break;case2:mark="石头";break;case3:mark="布";break;}switch(computer){case1:mark2="剪刀";break;case2:mark2="石头";break;case3:mark2="布";break;}if(computer==person){System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",平局");}elseif(computer==1&&person==2||computer==2&&person==3||computer==3&&person==1){System.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你赢了");}elseSystem.out.println("你出的是:"+mark+",电脑出的是:"+mark2+",你输了");
解决方案十一:
没分了拿分走人下东西了
解决方案十二:
没有错................................