永发信息网

请求java代码解释!!

答案:4  悬赏:10  手机版
解决时间 2021-04-16 00:12

public class Game {

String[] s ={"石头","剪刀","布"};

String getComputer(int i)

{

String computerGuess = s[i];

return computerGuess;

}

boolean isOrder(String guess)

{

boolean b = false;

for(int x = 0;x < s.length; x++)

{

if(guess.equals(s[x]))

{

b = true;

break;

}

}

return b;

}

void winOrLose(String guess1,String guess2)

{

if(guess1.equals(guess2))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。平了");

}else if(guess1.equals("石头"))

{

if(guess2.equals("剪刀"))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Win!");

}else

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Lose!");

}

}else if(guess1.equals("剪刀"))

{

if(guess2.equals("布"))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Win!");

}else

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Lose!");

}

}else if(guess1.equals("布"))

{

if(guess2.equals("石头"))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Win!");

}else

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Lose!");

}

}

}

public static void main(String[] args) {

Game my = new Game();

Game computer = new Game();

Game game = new Game();

String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:");

String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3)));

if(my.isOrder(myGuess))

{

game.winOrLose(myGuess, computerGuess);

}else

{

System.out.println("你输入的不是石头,剪刀,布!");

}

}

}

——————————————————————————————————

String[] s ={"石头","剪刀","布"};

String getComputer(int i)

{

String computerGuess = s[i];

return computerGuess;

}

boolean isOrder(String guess)

{

boolean b = false;

for(int x = 0;x < s.length; x++)

{

if(guess.equals(s[x]))

{

b = true;

break;

}

}

return b;

这一段我看不到懂 请高手详细解释下 谢谢 还有String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:");

String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3))); 这后面两句!!!

最佳答案

String[] s ={"石头","剪刀","布"};


String getComputer(int i)//这个方法返回计算机猜的拳,传入一个整数,返回数组s里的其中一个值


{


String computerGuess = s[i];


return computerGuess;


}


boolean isOrder(String guess)//这个叛断玩家猜的拳是不是数组s里的值,是返回true,不是返回false


{


boolean b = false;


for(int x = 0;x < s.length; x++)


{


if(guess.equals(s[x]))


{


b = true;


break;


}


}


return b;



String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:");


这句是弹出一个对话框,没有标题,只有提示内容


String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3)));


这句是计算机猜拳,生成一个小于3的随机数,转换为整数之后传给getComputer(int)方法

全部回答

String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:"); 这个就是java中swing的一个可视化提示框 没什么的 就是用来现实让用户来输入信息的 String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3))); 这个是game的一个方法 人家上面不是实例化了吗 Game computer = new Game(); 后面的那参数是一个随机数

String[] s ={"石头","剪刀","布"}; //一个数组 里面装的是"石头","剪刀","布" //也就是说 s[0]="石头" s[1]="剪刀" s[2]="布" String getComputer(int i)//获取你出的是什么 参数是0-2

{

String computerGuess = s[i]; //取出上面数组中的内容 对应的是s[0]="石头" s[1]="剪刀" s[2]="布"

return computerGuess;//返回出去

}

boolean isOrder(String guess)//一个方法 传进的是字符串

{

boolean b = false;//定义一个false的boolean变量

for(int x = 0;x < s.length; x++)//s循环数组 s[0]="石头" s[1]="剪刀" s[2]="布"

{ if(guess.equals(s[x])) //如果传进来的参数等于数组当中其中一个的话

{

b = true; //修改false成true

break; //跳出循环 那么这个方法就是来验证 你是否是出的数组当中的动作 //也就是说你只能出 石头","剪刀","布" 不能出其他的东西

}

1.创建数据库Test,并新建用户表users 字段包含:username varchar(20) not null userpwd varchar(20) not null 2.这是代码: //连接数据库 boolean isLogin(String name,String pwd){ boolean flag=false; Connection conn=null; PreparedStatement pst=null; ResultSet rs=null; //加载驱动 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } //连接数据库 try { conn=DriverManager.getConnection("jdbc:odbc:login"); String sql="select * from [user] where username=? and userpwd=?"; pst=conn.prepareStatement(sql); pst.setString(1,name); pst.setString(2,pwd); rs=pst.executeQuery(); if(rs.next()) flag=true; } catch (Exception ex) { ex.printStackTrace(); }finally{ try { conn.close(); } catch (Exception ex) { ex.printStackTrace(); } } return flag; }

一看就知道是一个猜拳游戏程序,我给你解答一下吧 。

String[] s ={"石头","剪刀","布"}; 这里定义个一数组,存储石头,剪刀,布 三个元素。

String getComputer(int i)//这个方法是,通过给一个参数,当作数组的下标,来返回电脑所出的是石头或者

{ // 剪刀或者布的一种。

String computerGuess = s[i];

return computerGuess;

}

boolean isOrder(String guess) // 这个方法是返回你输入的。如果输入的是石头,剪刀,布 的一种就返回

{ //true,如果不是就返回fasle,

boolean b = false;

for(int x = 0;x < s.length; x++)

{

if(guess.equals(s[x]))

{

b = true;

break;

}

}

String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:");//

这个javax.swing.JOptionPane.showInputDialog 是弹出一个对话框,上面显示 "输入石头,剪刀,布:",和一个文本框,来接受你出的 石头,剪刀,布这三个里面的一个。并把你出的赋给myGuess ,

String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3)));

这一段 (Math.floor(Math.random()*3)) 是产生一个0 到3 的小数, 在加上前面的int,就是把产生的随机数强制行转换成int类型,也就是 (int)(Math.floor(Math.random()*3))的结果只会是 0,1,2 里面的一个。

在调用getComputer方法,就会返回电脑出的。

这个就是这样,我也给你解释不清,我知道他们都是做什么的,就是说不出来,大概就说这么多,你要是能理解的话那就最好,要是不行的话你就加我好友,我再给你解释,我的QQ:137313826.

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冒险岛物价问题
2017年南京大学录取分数线是多少
三星专卖店(新宾店)我想知道这个在什么地方
一除以0.25-0点25除以一简便计算
用什么方法才能忘记ta 人
如果一个男生特别容易吃醋 又为一个女生哭过
我问问才建的新团,怎么加贡献分啊?
小少焱和天佑谁出名?
有没有IE8显示当前网速的插件?
为什么佳能IR6020装了扫描仪还是不能扫描啊??
怎么拍出漂亮的照片,什么相机拍出来的照片有
二十四点游戏,高手帮帮忙!
愚园专用停车场地址在什么地方,想过去办事
康师傅有哪些类饮料?
用has to造一般疑问句并做否定回答
推荐资讯
艾尚佳地址有知道的么?有点事想过去
绝代商娇好看吗
杂牌手机QQ下载
梁先森的便利店地址有知道的么?有点事想过去
宜家科技(黄山店)地址有知道的么?有点事想过
惠民超市(新宝店)这个地址在什么地方,我要处
5-4/7-5/7 计算过程
许哲佩出名麽?
法律专家进,在现等答案!
fortran小学生,请教各位这个fortran程序哪里
dnf武神刷图拿50粉海妖好还是拿40粉落日幻影
现在开什么店赚钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?