java int if_java中if语句的问题

题目是这样的:编写一个剪刀-石头-布游戏程序。用0、1、2分别表示剪刀、石头、布,随机从三个数字中选择两个数,利用游戏规则,比较它们之间的大小,并显示优胜信息。这个执行是对的:...

题目是这样的:编写一个剪刀-石头-布游戏程序。用0、1、2分别表示剪刀、石头、布,随机从三个数字中选择两个数,利用游戏规则,比较它们之间的大小,并显示优胜信息。

这个执行是对的:public class Random{

public static void main(String[]args){

int[]anArray={0,1,2};

System.out.println("0代表剪刀,1代表石头,2代表布");

int x =(int)(anArray.length*Math.random());

System.out.println("甲出了"+ anArray[x]);

int y =(int)(anArray.length*Math.random());

System.out.println("乙出了"+ anArray[y]);

int max;

int min;

if(x>y){

max=x;

min=y;

if(max==1){

System.out.println("石头胜");

}else{

if(min==0){

System.out.println("剪刀胜");

}else{

System.out.println("布胜");

}

}

}else if(x

max=y;

min=x;

if(max==1){

System.out.println("石头胜");

}else{

if(min==0){

System.out.println("剪刀胜");

}else{

System.out.println("布胜");

}

}

}else{

System.out.println("平局");

}

}

}

最开始写的这个执行起来不对:

int max;

int min;

if(x>y){

max=x;

min=y;

}else if(x

max=y;

min=x;

}else{

System.out.println("平局");

}

if(max==1){

System.out.println("石头胜");

}else{

if(min==0){

System.out.println("剪刀胜");

}else{

System.out.println("布胜");

}

}

}

}

会显示可能未初始化变量max和min。而且只要是在上面的大if语句之后涉及到max和min都说可能未初始化变量。

想问一下为什么会不对?为什么在第一个if语句之后就没法再用max和min了??

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值