【问题标题】:Printing 10 random questions in JAVA在 JAVA 中打印 10 个随机问题
【发布时间】:2018-06-27 19:36:31
【问题描述】:

我的任务是用 Java 创建一个测验程序,它要求用户找到 10 个加法/减法问题的答案,形式为 (a + b) 或 (a - b) = c,其中“a”和“b”是随机数。 我能够完成第一部分,其中“a”和“b”随机生成,并告知用户他们的答案是否正确。我被困在如何生成这个问题 10 次以及如何随机选择运算符是“+”还是“-”。以下是我到目前为止的代码:

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

public class LetsSee{
  public static void main(String [] args){
    Scanner keyboard = new Scanner(System.in);
    int sum = 0;   
    int userAnswer ;
    int check ;

    // Random number generating

    Random generator = new Random();

      int N1 = generator.nextInt(100);
      int N2 = generator.nextInt(N1);      

      System.out.println(" What is the answer to " + N1 + " + " + N2 + " = " );
      userAnswer = new Scanner(System.in).nextInt();  

      // Display if its correct or not
      check = N1 + N2;
      if(userAnswer == check){
        System.out.println("You are correct!");
      }
      else{
      System.out.println(" Sorry, the correct answer is : " + check);
      }


    }
  }

非常感谢您的帮助。谢谢 !

【问题讨论】:

    标签: java random generator


    【解决方案1】:

    如果这有帮助,请告诉我。我刚刚添加了一个 for 循环来要求用户输入 10 次,然后根据随机 int 是偶数还是奇数构建 +/-。

    import java.util.Scanner;
    import java.util.Random;
    
    public class HelloWorld{
      public static void main(String [] args){
        Scanner keyboard = new Scanner(System.in);
        int sum = 0;
        int userAnswer ;
        int check ;
    
        // Random number generating
        // Ask the user for input 10 times
        for (int i = 0; i < 10; i++) {
          Random generator = new Random();
    
          int N1 = generator.nextInt(100);
          int N2 = generator.nextInt(N1);
          int N3 = generator.nextInt(2);
    
          // if N3 is even use plus, if odd use minus
          Boolean plus = N3 % 2 == 0;
    
          // Set a string to either "+" or "-" depending on the value of plus
          String plusMinus = plus? "+" : "-";
    
          System.out.println(" What is the answer to " + N1 + plusMinus + N2 + " = " );
          userAnswer = new Scanner(System.in).nextInt();
    
          // Display if its correct or not
          // Set the answer depending on the value of plus.
          check = plus? N1 + N2 : N1 - N2;
    
          if(userAnswer == check){
            System.out.println("You are correct!");
          }
          else{
            System.out.println(" Sorry, the correct answer is : " + check);
          }
        }
    
      }
    }
    

    【讨论】:

    • 感谢百万人!言语无法解释这有多大帮助再次感谢!
    • 我试图给你一个评论或评论,但仍然不知道如何,因为我刚开始使用这个几分钟前。如何将某事标记为已解决?
    • @TheoKagabo 我的答案顶部附近应该有一个选项。一个复选标记。
    【解决方案2】:

    所以我想出了一个看起来像这样的快速解决方案

    Random generator = new Random();
    int var1 = generator.nextInt(100);
    int var2 = generator.nextInt(100);
    int choice = generator.nextInt(3);
    
    switch (choice){
        case 0:
             System.out.println(var1 + " + " + var2);
             break;
        case 1:
             System.out.println(var1 + " - " + var2);
             break;
        case 2:
             System.out.println(var1 + " * " + var2);
             break;
        case 3:
             System.out.println(var1 + " / " + var2);
             break;
     }
    

    这只是一个粗略的解决方案,没有什么花哨的,但希望能让你知道你在寻找什么。

    您需要从 4 个运算符中选择一个,所以我从 0-3 中随机选择一个数字来获得一个随机运算符,然后我们可以在 switch 中使用它来根据我们的 2 个随机数生成一个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      相关资源
      最近更新 更多