当前位置: 首页 > 知识库问答 >
问题:

为什么这总是被评价为假的?[副本]

鞠鸿雪
2023-03-14

这是一个简单的程序,生成0到1000之间的两个随机数,然后让用户输入两个数字的和。即使您输入了正确的答案,并且求和与答案匹配,if语句也总是计算为不正确。

import java.util.Random;
import java.util.Scanner;

public class mathquiz
{
    public static void main(String[] args)
    {
        Integer num1;
        Integer num2;
        Integer sum;
        Integer answer;
        Scanner input = new Scanner(System.in);
        Random rand = new Random();
        num1 = rand.nextInt(1000); //random number between 0 and 1000
        rand = new Random();
        num2 = rand.nextInt(1000); //random number between 0 and 1000
        System.out.println("  "+num1); 
        System.out.println("+ "+num2);
        sum = num1 + num2; //adding the two random numbers together
        answer = input.nextInt();
        System.out.println(sum); //test print to see what sum is
        System.out.println(answer); //test print to see what answer is
        if (sum == answer) //always evaluates as incorrect, I would like to know why
        System.out.println("Congratulations! You are correct!");
        else
        System.out.println("You were incorrect. The correct answer is: "+sum);
    }
}

共有1个答案

邓令
2023-03-14

sum.equals(answer)可能会给出您想要的结果。

 类似资料:
  • 问题内容: 以下面的代码为例: 示例1:我猜他们是同一对象。每次引用时,Python都会复制该方法吗? 示例2:预期。 示例3:预期,因为它们是不同的对象。 示例4:为什么此输出与示例2不匹配? 问题答案: 范例1: 是一种 未绑定的方法 。这些在当今的Python中甚至都不存在,因此请认为这是无用的历史课程。 每次引用时,Python都会复制该方法吗? 是的,或多或少。这是通过描述符协议完成的。

  • 我在玩Java的可选代码,认为它的工作原理就像一个if else块。但是在下面的代码中,即使变量不是,也会执行块的内容。有什么解释吗? 产出:

  • 问题内容: 我知道使用执行程序而不是ThreadGroup的当前做法: 通常首选的处理线程的方法 从线程等捕获异常… 但是,这样 的ThreadGroup 固有的 缺陷是 什么(我听过对该类的模糊批评)? 感谢您的回答。 PS。这似乎无法回答这个问题。 问题答案: 这在《有效的Java第二版》中进行了解释。,项目73。 最初将线程组设想为一种出于安全目的隔离小程序的机制。他们从来没有真正兑现过这个

  • 当我跑的时候 我在Java中得到错误。为什么?这相当于false==false,这是真的。这不是Java特有的,我在其他语言中也得到了相同的结果。这是因为短路评估吗?似乎左右双方仍会/应该进行比较。

  • 问题内容: 有谁知道,为什么Oracle的(和)函数总是对第二个参数求值,即使第一个参数不是呢? 简单测试: 返回,但也打印。 已调用,即使由于第一个参数不是,结果也被忽略了。 问题答案: 一直都是这种方式,因此Oracle必须保持这种方式以保持向后兼容。 使用,而不是让短路行为。

  • 我已经彻底研究了所有的问题,但没有一个直接适用于我的问题。我正在循环访问用户ID数组并匹配它们以从我的firestore DB中获得一个用户。我会毫无问题地返回结果,但当我将其存储在状态数组中并运行控制台日志时,我的状态数组总是空的。第一个console.log工作并显示DB的结果。 请帮帮忙。