在这里,
我有两个变量,它们通过生成随机数.Random
。我希望它们继续滚动,直到两个变量同时生成两个不同的值。因此,我为此使用while
循环&&
。正如我也明白了,请纠正我,如果我错了,行while ((diceRolled1 != 5) && (diceRolled2 != 4))
意为,不断翻滚,直到值diceRolled1
不等于5
和 diceRolled2
不等于4 。但是,如果其中一个变量与其值匹配(diceRolled1 = 5 或 diceRolled2
= 4),则程序结束。这不是&&
应该做什么,对吗?我已经运行了大约10次的html" target="_blank">代码,但是没有一次同时生成5和4。
我也在==
两侧和两侧尝试过,但是在那种情况下,该程序根本没有运行,也没有给出任何错误。
您的帮助将不胜感激。谢谢
import java.util.Random;
import static java.lang.System.out;
public class DiceRoller {
public static void main(String[] args) {
Random dice1 = new Random();
Random dice2 = new Random(); //Removing this doesn't work either
int diceRolled1 = 0;
int diceRolled2 = 0;
while ((diceRolled1 != 5) && (diceRolled2 != 4)) { //& didn't work either
diceRolled1 = dice1.nextInt(6) + 1;
diceRolled2 = dice2.nextInt(6) + 1;
out.println(diceRolled1 + " " + diceRolled2);
}
out.println("Program ends");
}
}
您正在获得描述的逻辑结果,但这并不是您所期望的。具体来说,当您的任何一个条件的结果为false
逻辑值且不为时true
。我想你想要
while (!(diceRolled1 == 5 && diceRolled2 == 4)) {
这是while
不是 dice1等于5 和
dice2等于4,然后使用德摩根定律,可能也可以表示为
while (diceRolled1 != 5 || diceRolled2 != 4) {
这意味着 循环 while
dice1不等于5 或 dice2不等于4。
问题内容: Netbeans说我的三元运算符不是语句。怎么会? 我尝试过if / then / else对应项,并且工作正常: 问题答案: 三元运算符中的语句必须是非空的。他们需要退货。
问题内容: 我正在通过Daniel liang在第9章“字符串”中的“ Java编程第9版简介”来学习Java,我遇到了这段代码: 好吧,有人可以解释一下这里发生了什么吗?如何从整数中添加子字符,其背后的含义是什么,谢谢。 问题答案: 来自文档 char数据类型是单个16位Unicode字符。 A 由其代码点值表示: 分钟(或0) 最多:(或65,535) 您可以在ASCII表上看到所有英文字母代
targetPixValList是一个包含Double对象的列表,它也包含列表中连续位置的相似值,当我尝试使用Code_1比较两个Double值时,cnt返回零。当我使用code_2时,cnt返回值。 列表的类型是 为什么“==”运算符不能与Double一起使用? 代码_1: Code_2:
主要内容:AND 运算符,语法,实例,OR 运算符,语法,实例SQLite 的 AND 和 OR 运算符用于编译多个条件来缩小在 SQLite 语句中所选的数据。这两个运算符被称为连接运算符。 这些运算符为同一个 SQLite 语句中不同的运算符之间的多个比较提供了可能。 AND 运算符 AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。使用 AND 运算符时,只有当所有条件都为真(true)时,整个条件为真(true)。例如,只
AND & OR 运算符用于基于一个以上的条件对记录进行过滤。 SQL AND & OR 运算符 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。 如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "Websites" 表的数据: +----+--------------+--
问题内容: 这段代码有什么问题: 问题答案: 三元运算符不能有不返回值或方法的语句。您需要具有返回值的语句。 您需要重写它。