减去随机数 [英] Subtracting Random numbers

查看:176
本文介绍了减去随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个游戏,用户必须解决一个简单的减法,但结果必须是正整数。我设法做了一切,但由于某种原因,答案有时是负面的,我不知道如何解决它

I'm making a game where the user must solve a simple subtraction but the result must be a positive whole number. I managed to do everything but for some reason the answer is sometimes negative and I'm not sure how to fix it

import java.util.Random;
import java.util.Scanner;
public class Subtraction {
  public static void main(String[] args) {
    Random r = new Random();

    final int MAX = 10;
    // get two random numbers between 1 and MAX
    int num1 = r.nextInt(MAX) - 1;
    int num2 = r.nextInt(MAX) - 1;

    int total = (num1 - num2);

    // display a question
    System.out.printf("What is your answer to %d - %d = ?%n", num1, num2);

    // read in the result
    Scanner stdin = new Scanner(System.in);
    int ans = stdin.nextInt();
    stdin.nextLine();

    // give an reply
    if (ans == total) {
      System.out.println("You are correct!");
    } else {
      System.out.println("Sorry, wrong answer!");
      System.out.printf("The answer is %d + %d = %d%n", num1, num2, (num1 - num2));
    }

  }
}


推荐答案

在房间底部生成第一个值,减去第二个值,第二个值由第一个值限定:

Generate your first value with room at the bottom for a second value to be subtracted, and the second one from a range bounded by the first:

int num1 = r.nextInt(MAX - 1) + 2;  // produces values from 2 to MAX, inclusive
int num2 = r.nextInt(num1 - 1) + 1; // produces values from 1 to (num1 - 1), inclusive

第一个数字将始终是严格的大于第二个,通过构造,所以差异将始终是正整数。

The first number will always be strictly larger than the second, by construction, so the difference will always be a positive integer.

这篇关于减去随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆