Java:具有多个条件的Do-while循环
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java:具有多个条件的Do-while循环,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1686字,纯文字阅读大概需要3分钟。
内容图文
![Java:具有多个条件的Do-while循环](/upload/InfoBanner/zyjiaocheng/750/8baf6ba32b0a43e3b1d234d4430d0553.jpg)
我正在尝试使用do-while循环在Java中创建剪刀纸石游戏.计算机将随机选择1,用户自行选择.退出条件是用户获胜两次(userWin)或计算机获胜两次(compWin).如果有平局,则两个计数器都不会增加.
// Scissors, paper, stone game. Best of 3.
// scissors = 0; paper = 1; stone = 2;
import java.util.Scanner;
public class Optional2 {
public static void main(String[] args) {
int userWin = 0;
int compWin = 0;
do {
//comp choice
int comp = 1; //TEST CASE
// int comp = (int) (Math.random() * (2 - 0 + 1) + 0);
//user choice
System.out.println("0 for scissors, 1 for paper, 2 for stone");
Scanner sc = new Scanner(System.in);
int user = sc.nextInt();
//Draw
if (comp == user) {
System.out.println("Draw");
//Win =)
} else if (comp == 0 && user == 2 || comp == 1 && user == 0 ||
comp == 2 && user == 1) {
System.out.println("WIN!");
userWin++;
//Lose =(
} else {
System.out.println("Lose =(");
compWin++;
}
} while (compWin < 2 || userWin < 2);
System.out.println("You won " + userWin + " times!");
}
}
对于int comp,它应该是随机的,但我将其设置为1(纸张)以便于测试.
但是,目前只有第一个条件才会退出循环,如果它变为真.我期待第二个条件退出循环,如果它与||变为真运算符,但循环只是保持循环,即使它成为现实.
即.如果我放入while(userWin< 2 || compWin< 2),如果用户获胜两次则退出,但如果计算机获胜两次则退出.如果我把while(compWin< 2 || userWin< 2),它将在计算机获胜两次时退出,但如果用户赢了两次则不会退出. 我尝试将其更改为while((userWin< 2)||(compWin< 2)),但它不起作用.
解决方法:
but the loop just keeps looping even if it comes true
只要条件保持为真,while循环就会保持循环.
我认为问题是你应该重写条件:
while ((userWin < 2) && (compWin < 2))
与&&而不是||.确实:现在while循环是这样的:“只要用户没有赢过两次或更多次就保持循环,并且计算机没有赢过两次或更多次.”
内容总结
以上是互联网集市为您收集整理的Java:具有多个条件的Do-while循环全部内容,希望文章能够帮你解决Java:具有多个条件的Do-while循环所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。