Получить случайные операторы и целые числа - PullRequest
0 голосов
/ 06 августа 2020

я выполняю задание, которое требует, чтобы я создал 3 класса.

  • 1 с получением 2 случайных целых чисел,
  • 1 с получением случайных операторов, таких как + - * /, которые должны сделать это в методе char
  • последний, чтобы проверить правильность простого математического ответа, используя логические значения через ввод пользовательского сканера.

Мне нужна небольшая помощь здесь, так как я не уверен Если я правильно выполнил метод случайных операторов и действительно не понимаю, как мне следует сводить в таблицу как случайные int, так и операторы вместе в одном классе.

вот код, который я сделал до сих пор:

    class Test
{   
    private static Random rand; // Instance of random class
    static Scanner input = new Scanner (System.in);
    
    
    public static double getTwoIntegers (MyInteger m, MyInteger n)
    {
        return Math.random () * 10.0;
    }
    
    public static char getOperator (int x, int y)
    {
        char operator;
        int answer;
        
        switch (rand.nextInt(4))
          {
            case 0: operator = '+';
                    answer = x + y;
                    break;
                    
            case 1: operator = '-';
                    answer = x - y;;
                    break;
                    
            case 2: operator = '*';
                    answer = x * y;;
                    break;
                    
            case 3: operator = '/';
                    answer = x / y;;
                    break;
                    
            default: operator = '?';
          }
        return operator;
    }
    
    public static boolean checkAnswer (int x, int y, char oper, int answer)
    {
          void checkAnswer() {
               do {
                   System.out.println("What is the answer? ");
                   answer = myScanner.nextLine();
                    
                            
                   if (answer.equals(str)) {
                       System.out.println("Correct!"); 
                   } else {
                       System.out.println("Nope! Try again. ");
                   }
               } while ( !answer.equals(str));
           }
    }

1 Ответ

1 голос
/ 06 августа 2020

Я полагаю, вы имеете в виду, что вам нужно создать 3 методов (а не классов).

  1. Тот, который создает случайное целое число (плохой дизайн для создания метода, который возвращает два целых числа вместо простого вызова два раза одного, который возвращает одно целое число).
  2. Тот, который возвращает случайный оператор
  3. Тот, который проверяет, есть ли операция, состоящая из « random-number random -operator random-number"равно вводу пользователя

В любом случае, здесь есть что распаковать, поэтому:

Ваш первый метод getTwoIntegers неверно, вы запрашиваете два целых числа на входе, но на самом деле никогда их не используете, тогда вы возвращаете одно случайное число.

Метод getOperator необходимо переработать, чтобы не было ввода и вернуть один символ (равный + - x /).

Ваш последний метод вызовет ваш первый метод дважды, затем второй метод один раз, затем он распечатает операцию, чтобы пользователь мог увидеть, и проверит, ответ co rrect.

Надеюсь, это поможет вам лучше понять, как вы должны строить свой код. Я не публиковал исходный код, так как считаю, что для вас будет намного лучше, если вы попытаетесь сделать это самостоятельно (это задание и все такое)

Удачи и получайте удовольствие :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...