java初学者 为什么两个格式相同的代码编译出来结果不同求大神指导

问题描述

java初学者 为什么两个格式相同的代码编译出来结果不同求大神指导

import java.util.*;
public class a {
public static void main(String[] args){
Scanner in=new Scanner(System .in);
System.out.println("请出拳");
System.out.println("请选择: 1剪刀 2石头 3布");
int a=in.nextInt();
int b=(int)(Math.random()*3)+1;
System.out.println(b);

if(a==1){
System.out.println("你出的是 剪刀");
if(b==0){
System.out.println("电脑出的是 剪刀 平局");
}else if(b==1){
System.out.println("电脑出的是 石头 你输了");
}else if(b==2){
System.out.println("电脑出的是 布 你赢了");
}
}
if(a==2){
System.out.println("你出的是 石头");
if(b==0){
System.out.println("电脑出的是 剪刀 你赢了");
}else if(b==1){
System.out.println("电脑出的是 石头 平局");
}else if(b==2){
System.out.println("电脑出的是 布 你输了");
}
}
if(a==3){
System.out.println("你出的是 布");
if(b==0){
System.out.println("电脑出的是 剪刀 你输了");
}else if(b==1){
System.out.println("电脑出的是 石头 你赢了");
}else if(b==2){
System.out.println("电脑出的是 布 平局");
}
}

}
}

当a==3 时得不出石头剪刀布的效果

解决方案

 int b=(int)(Math.random()*3)+1;

改成

 int b=(int)(Math.random()*3);

因为(int)(Math.random()*3) +1;的取值范围是1、2和3,当随机数最终得到3时,没有对应的处理逻辑,于是没有输入
建议在每个判断b的if-else语句增加

 else{
  System.out.println("电脑出的无法识别!!  " + b);
}

解决方案二:

随机数乘以三干嘛 这个地方有问题吧

解决方案三:

random的范围是0-1,不包含1的,常见问题。

时间: 2024-11-03 22:07:52

java初学者 为什么两个格式相同的代码编译出来结果不同求大神指导的相关文章

sql server-c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导

问题描述 c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导 string sql = " select a.2, a.3, b.2, b.3 from a, b, c where a.1= c.1 and b.1 = c.1 "; //查询语句太长 我就直接把意思表达出来 没有粘代码 DataSet ds1 = new DataSet(); DataTable dt = new DataTable (); DataSet ds2 =

java压缩文件成rar格式,有什么好方案么,求大神解答

问题描述 最近想写一个基类,对文件进行压缩和解压,格式为rar.哪位大神告诉小弟一下,不胜感激~ 解决方案 解决方案二:建议用通用的格式zip,rar必须要特定的工具解压解决方案三:引用1楼kk_124的回复: 建议用通用的格式zip,rar必须要特定的工具解压 就是规定要用rar格式啊,有好的方法没啊?

java容器 collection-JAVA中什么是容器?什么是集合?求大神指导

问题描述 JAVA中什么是容器?什么是集合?求大神指导 容器是什么?跟接口是什么关系?集合又是什么?求大神帮忙?????? 解决方案 Java集合容器主要有以下几类: 1,内置容器:数组 2,list容器:Vetor,Stack,ArrayList,LinkedList, CopyOnWriteArrayList(1.5),AttributeList(1.5),RoleList(1.5),RoleUnresolvedList(1.5), ConcurrentLinkedQueue(1.5),Ar

关于java 快速排序问题 这个输出报错 我认为 while 有问题 求大神指导

问题描述 关于java 快速排序问题 这个输出报错 我认为 while 有问题 求大神指导 package QuickSort; import java.util.ArrayList; public class QuickSort { public static void main(String[] args) { ArrayList<Integer> lists = new ArrayList<Integer>(); lists.add(5); lists.add(2); lis

java中网络编程关于使用ObjetInputStream传输报错的问题,求大神指点

问题描述 java中网络编程关于使用ObjetInputStream传输报错的问题,求大神指点 以下贴出来的代码为通过ObjectInputStream(OutputStream)在客户端与服务器端之间交互时传输的对象,提供的图片中一个是客户端的代码片段,一个是服务器端的代码片段. 现在问题出在当客户端输完账号密码点击确定时,客户端卡死(应该是线程阻塞).服务器端抛出异常 :java.lang.ClassNotFoundException: com.wish.data.TransferObjec

按钮-自己参照书本写了一个Java Swing中的容器类入门程序设计,但是运行结果不对,求大神帮帮忙!

问题描述 自己参照书本写了一个Java Swing中的容器类入门程序设计,但是运行结果不对,求大神帮帮忙! /*题目是这样的:创建一个窗体在其中摆放两个内容面板对两个面板进行边框个性化设置.初始状态为第二个面板不可见,当单击第一个面板中的"打开"按钮时,第二个面板即可见:当单击第一个面板中的"关闭"按钮时,第二个面板消失. 以下是我结合书本写的代码,不知道为什么运行不了???*/import javax.swing.*;import java.awt.*;impor

c-指针数组两种排序方法结果大相径庭,求大神指导

问题描述 指针数组两种排序方法结果大相径庭,求大神指导 #include #include int main() { void rankArr(char *pr[]); char *p[]={"china","japan","tokyo","pairs","narry"}; int i; for(i=0;i printf("%sn",p[i]); rankArr(p); for(i=0;

rsa加解密-关于java自带RSA密钥包生成的私钥公钥加密不了,求大神帮忙看一下

问题描述 关于java自带RSA密钥包生成的私钥公钥加密不了,求大神帮忙看一下 我用JAVA生成了一个公钥如下: System.out.println(publicKey.getPublicKey()); 输出:modulus:154308594144468705348294760484396264219304223307125368116140288659005422830 114898674784044956357283073098453132761265419031547660249768

java报文解析!求大神指导!

问题描述 java报文解析!求大神指导! 大家帮我解析一下报文吧!我用的是UDP通信拿到数据,数据的类型是这样的S5W1449!p1r!p1r003B1s!S6WGGG00!p2r!p2r00003!p1r!p1r003B1s! 第0~2位为p1r或p2r,第3~6位为对应侧(p1r或p2r)的点位,第7位为状态位第8位为CRC校验位(将以上待发送的8位 异或)第9位为!结束位. 比如p1r!p1r003B1s!,我要拿到点位003B,要把它转化成十进制显示在我的界面画图!我要怎么解析报文!能写