问题:关于猜拳游戏中运行中字符在程序中如何转化?

问题描述

问题:关于猜拳游戏中运行中字符在程序中如何转化?

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

问题:关于猜拳游戏中运行中字符在程序中如何转化?的相关文章

asp 中西文混合式字符截取程序

中西文混合式字符截取程序 function CutStr(byVal val,byVal length,byVal endStr)   Dim l,t,c,i   If val = "" Or IsNull(val) Then    CutStr = ""    Exit Function   End If   If length = "" Or Int(length) <= 0 Or IsNumeric(length) = False T

eclipse-安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目?

问题描述 安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目? 解决方案 贴出debug再百度一下就知道了 解决方案二: Eclipse不可不知的用法之四:配置服务器与项目的新建运行

web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误

问题描述 web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误 20C 解决方案 quatrz配置有问题参考:http://blog.csdn.net/kingzuo/article/details/12572881http://www.cnblogs.com/kay/archive/2007/11/02/947372.html

visual studio-SQL语句在VS中运行错误,在数据库中执行正确

问题描述 SQL语句在VS中运行错误,在数据库中执行正确 select (case when ub.ishandle is NUll then '未处理' when ub.ishandle='' then '未处理' else ishandle end)as 'ishandle',u.fsid,u.BuMenId,y.Chusheng,y.lunar,u.Realname,b.Name as bname from qp_hr_Yuangong y, qp_oa_Bumen b,qp_oa_use

unity2.0中在VS2010中运行正常,在IIS中无法注入

问题描述 unity2.0中在VS2010中运行正常,在IIS中无法注入Page页面通过public属性的方式注入servicepublicpartialclassLogin:System.Web.UI.Page{publicIUserServiceservice{set;get;}}注入是通过xml文件配置的在VS2010环境一切正常,发布到IIS7中sevice就为null了在protectedvoidPage_Load(objectsender,EventArgse){if(!IsPost

怎样在繁体环境中运行简体中文的C#程序

问题描述 怎样在繁体环境中运行简体中文的C#程序我朋友做一个C/S架构的程序客户在香港,但开发在大陆,所以就存在了简体与繁体的差异但是遇到一个问题就是在相互转换的过程中,在简体环境下转换成繁体就可以但在繁体环境中就有问题了希望路过的朋友们都帮下忙吧!!很急!!!(请大家说的详细点,谢了:)) 解决方案 解决方案二:不太好办,以前我们都是专门用繁体操作系统开发解决方案三:程序开发的时候就考虑全球化的问题,.net的程序全球化很简单,在界面上改一下描述文字就可以了.内置的逻辑应该不和语言环境邦定.解

sqlite-如何将导入到数据库表中的数据保存在程序中,而不用每次换调试机时还得重新导入数据

问题描述 如何将导入到数据库表中的数据保存在程序中,而不用每次换调试机时还得重新导入数据 如题:我有一张excel的表,我将其存为.csv文件,然后通过dos命令下的sqlite3命令导入到了数据库表中,问题是如果不换机子,导入到该数据库表中的数据永久有效.如果我换机子调试的话,该数据库表中的数据就不存在了,会报错,请问有没有解决办法?谢谢! 解决方案 最好存入远程数据库每次启动同步下来数据就可以了,sqlite是系统自带的数据库具体的就是http://blog.csdn.net/tianyit

stm32中写关于usart的程序中,如果要使用printf,现在我看到2种方式,

问题描述 stm32中写关于usart的程序中,如果要使用printf,现在我看到2种方式, 一种是用微库,就是在MDK里面打开microlib,程序中添加一个重定义的程序就可以了,另一种是用半主机,这种方式不用打开microlib,半主机不懂事什么意思,他们的区别是什么,

关于mysql中字段的数据类型和程序中变量的数据类型的匹配问题

问题描述 我想知道完整的mysql中字段的数据类型对应程序中变量的数据类型的完整版,比如:mysql中varchar数据类型对应程序中String类型变量. 解决方案 解决方案二:我觉得你还是把mysql的类型列出来!!这样才能给你完整的匹配!!intIntegerlongLongdatetimeTimestamp长的小数点Decimal等等