请求java代码解释!!
解决时间 2021-04-16 00:12
- 提问者网友:温旧梦泪无声
- 2021-04-15 08:45
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))); 这后面两句!!!
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-04-15 09:55
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)方法
全部回答
- 1楼网友:封刀令
- 2021-04-15 11:45
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; //跳出循环 那么这个方法就是来验证 你是否是出的数组当中的动作
//也就是说你只能出 石头","剪刀","布" 不能出其他的东西
}
- 2楼网友:你可爱的野爹
- 2021-04-15 10:16
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;
}
- 3楼网友:不想翻身的咸鱼
- 2021-04-15 10:09
一看就知道是一个猜拳游戏程序,我给你解答一下吧 。
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.
我要举报
大家都在看
推荐资讯