问题描述
- 问题:关于猜拳游戏中运行中字符在程序中如何转化?
-
package caiquanyouxi;
import java.util.Scanner;
public class caiquan {
public static void main(String[] args){
Scanner a=new Scanner(System.in);
System.out.println("----猜拳小游戏----");
System.out.println("请出拳(1.剪刀2.石头3.布)");
int per=a.nextInt();
int com=(int)Math.random()*3+1;
String bj_1;
String bj_2;
switch(per){
case 1:bj_1="剪刀";break;
case 2:bj_1="石头";break;
case 3:bj_1="布";break;
}
switch(com){
case 1:bj_2="剪刀";break;
case 2:bj_2="石头";break;
case 3:bj_2="布";break;
}
if(per==1&&com==1||per==2&&com==2||per==3&&com==3){
System.out.println("你出的是"+"bj_1"+"电脑出的是"+"bj_2");
System.out.println("平手");
}
else if(per==1&&com==3||per==2&&com==1||per==3&&com==2){
System.out.println("你出的是"+"bj_1"+"电脑出的是"+"bj_2");
System.out.println("你赢啦");
}
else if(per==1&&com==2||per==2&&com==3||per==3&&com==1){
System.out.println("你出的是"+"bj_1"+"电脑出的是"+"bj_2");
System.out.println("你输啦");
}a.close(); }
}运行后显示:你出的是bj_1电脑出书的是bj_2
你输啦
怎么是bj_1转化成剪刀等?
解决方案
System.out.println("你出的是"+"bj_1"+"电脑出的是"+"bj_2");
统一改成
System.out.println("你出的是"+bj_1+"电脑出的是"+bj_2);去掉bj_1,bj_2两边的引号
解决方案二:
String[] arr = { "", "石头", "剪子", "布" };
System.out.println("你出的是"+arr[bj_1]+"电脑出的是"+arr[bj_2]);
解决方案三:
两个问题,第一是字符串没有初始化,修改为:
String bj_1 = null;
String bj_2 = null;
第二个是输出bj_1和bj_2时不能用引号,用双引号是指按字符串输出了。去掉双引号即可。
时间: 2024-10-31 03:45:18