请高手帮忙解决boolean java 在while 循环中!!!!

public class Twoup {
public static void main(String[] args) {
int flip;
boolean decided = false;

java.util.Random gen = new java.util.Random();

while (!decided) {
flip = gen.nextInt(4);

if (flip == 0) {
System.out.println("Heads Spinner Wins");
decided = true;
} else if (flip == 3) {
System.out.println("Tails Spinner Loses");
decided = true;
} else {
System.out.print("Odds ");
}
}
}
}

请高手帮忙告诉我下,boolean在这个while循环中有什么意义啊。 我感觉完全不用直接用if 判断语句不可以吗??希望能详细的给我解释下这个程序谢谢!只有30分了不好意思啊。

public class Twoup {

public static void main(String[] args) {
int flip; //定义一个int型变量
boolean decided = false; //定义一个boolean型变量,
//初始值设为false

java.util.Random gen = new java.util.Random(); //新建一个随

// 机数类Random的对象gen

while (!decided) { //根据!decided的值来判断是否结
//束循环,即decided为true就结束,decided为false则继续循环
flip = gen.nextInt(4); //调用Random类的
//nextInt(int n)方法,此方法随机的返回0(包括在内)到n(不包括在内)
//之间的均匀分布的int值;flip = gen.nextInt(4)则flip的值为0(包括)到4
//(不包括)之间的随机的某一int值,即:0或1或2或3

if (flip == 0) { //如果flip得到的随机值为0
System.out.println("Heads Spinner Wins"); //打印出:
//Heads Spinner Wins
decided = true; //让decided为true,则!decided为
//false,从而结束while循环
} else if (flip == 3) { //如果flip得到的随机值不为0,
//而为3
System.out.println("Tails Spinner Loses");//则打印出:
//Tails Spinner Loses
decided = true; //让decided
//为true,则!decided为false,从而结束while循环
} else { //如果flip
//得到的随机值不为0,也不为3,即为1或2时
System.out.print("Odds "); //打印出:
//Odds,decided的值不变,为false,!decided为true,则继续循环
}
}
}
}

可见此boolean型变量decided的作用是用来控制循环什么时候结束的,有用的。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-03
boolean在这while循环中,只要boolean为true,就会一直运行循环体,除非遇到显示的break或return

例子中的意识是只要随即到的数字为0或3,则decided为true
while条件!decided就为fasle,此时循环会结束(也就是循环直到随机数等于0或3为止)

如果不用while循环,不管随即生成的数是多少,都只执行一遍就结束了,比如随即生成的数是2,那么打印Odds后,程序就结束了,如果是在while循环中,则会重新执行while循环中的循环体
第2个回答  2010-09-03
public class Twoup {
public static void main(String[] args) {
int flip;
boolean decided = false;

java.util.Random gen = new java.util.Random();

while (!decided) {
flip = gen.nextInt(4);

if (flip == 0) { /*如果随机数是0的话跳出循环*/
System.out.println("Heads Spinner Wins");
decided = true;
} else if (flip == 3) { /*如果随机数是3的话跳出循环*/
System.out.println("Tails Spinner Loses");
decided = true;
} else { /*如果随机数是1、2、4的话循环继续循环直到随机出0或3*/
System.out.print("Odds ");
}
}
}
}
第3个回答  2010-09-03
flip是0到4的一个随机数,等于0或3的时候循环结束。boolean在这个while循环中是一个条件判断,你也可以将decided = true;该成break;结束循环。。。。。。。
第4个回答  2010-09-03
decided变量的意义就是,一开始就让while内的语句开始循环,直到通过随机数产生的flip变量等于0或3时,将跳出while内的循环

java中遇到一个问题 boolean b; while(b = true) 这是一个正确的示例...
boolean b = false;while (b == true) { \/\/这里只是想判断b的值是否为true, 但如果写成了b = true,将会改变变量b的值。↓ \/\/对于boolean类型,我推荐下面的写法 while (b) { \/\/b为true时执行循环体

boolean在java中的含义
2. 循环控制:在循环结构中,boolean类型的变量也经常作为循环的条件。例如,在while循环中,我们可以使用一个boolean变量来控制循环是否继续执行。3. 布尔逻辑运算:Java提供了多种布尔逻辑运算符,通过这些运算符,我们可以对boolean类型的变量进行各种逻辑运算。三、boolean的特点 1. 占用空间小:由于boolea...

在java中从while循环中强制跳出怎么做
用break 例如:int i = 1;while(true){ i++;if(i > 100){ break;} }

java循环中boolean值的问题
boolean b = true 在 for (int j = 2; j < i; j++) { if (i % j == 0) { b = false;break;}循环的外面,执行完这个循环后返回的b值又被boolean b = true重新定义为true.所以它不受这个for循环的影响~

while的用法
详情请查看视频回答

关于JAVA,怎么返回重新执行
可以使用while语句 比如:while(isTure()){ \/\/ 执行再次输入的操作 } isTrue()方法里你可以判断输入的值是否超出规定的范围

java中布尔型数据怎么用
boolean java基本数据类型,有两个值 true 和false;1.直接赋值boolean b1=false;2.由条件表达式赋值boolean b2=3>4;3.由另一个boolean变量赋值boolean b3=b1;4.由方法返回赋值boolean b4=list.ready();\/\/假设ready方法返回一个boolean的话 程序中boolean为布尔类型变量 参考资料:http:\/\/baike.baidu...

请java高手帮忙,解决一个难题呀?心急呀!
在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个过度性的转折,否则会感到很突兀。 最后的“几个需要注意的问题”最是奇怪,这是你提出的问题还是资料中别人提出的问题呢?我很难理解。好了。综上所述,目前我很难帮到你。希望你能够吧思路和...

java中boolean变量的区别
t=true 是将true赋值给t true=t 编译错误 不能这样赋值 true==t 判断t的值是不是true,等同于t==true true==t将true写在前面是为了防止新手将true==t写成了true=t 因为true=t编译时会报错,而t=true编译不会报错

求高手帮忙看看这代码?哪里出错了!
{list==null }表达式返回的是一个boolean值,你用在<c:if结构中是正常的。但是<c:forEach items="${list==null }" var="stu">的items项对应的是一个集合,你那样写肯定会有问题的;你想要循环输出list中的值只需要这样:<c:forEach items="${list}" var="stu">就可以了 而且你的<c:...

相似回答