当前位置: 首页 > 面试题库 >

Java-AND运算符不起作用

壤驷向明
2023-03-14
问题内容

在这里,
我有两个变量,它们通过生成随机数.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" 表的数据: +----+--------------+--

  • 问题内容: 这段代码有什么问题: 问题答案: 三元运算符不能有不返回值或方法的语句。您需要具有返回值的语句。 您需要重写它。