Advertisement
tiberiugaspar

Untitled

Dec 7th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.53 KB | None | 0 0
  1. package com.skalyter.becomeproject;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. public abstract class Quiz {
  7.     /**
  8.      * Intrebarile sunt structurate pe 4 categorii: adunare, scadere, inmultire, impartire
  9.      * Primele 6 niveluri vor contine operatii de adunare si scadere, in mod alternativ
  10.      * La fiecare doua niveluri se va incrementa intervalul de valori al numerelor
  11.      *
  12.      * La nivelul 7 se face trecerea la operatii de inmultire si impartire, in mod alternativ.
  13.      * Asemenea primelor niveluri, se va incrementa intervalul de valori al numerelor odata la fiecare
  14.      * doua niveluri.
  15.      *
  16.      * Astfel: nivelurile 1,2, 7 si 8 vor contine numere formate din maxim 2 cifre,
  17.      * nivelurile 3, 4, 9 si 10 vor contine numere formate din maxim 3 cifre,
  18.      * nivelurile 5, 6, 11 si 12 vor contine numere formate din maxim 4 cifre
  19.      * */
  20.     public static List<Double> generateQuizNumbers(Integer level) {
  21.         List<Double> numbers = new ArrayList<>();
  22.  
  23.         if (level == 1 || level == 2 || level == 7 || level == 8) {
  24.             numbers.add(generateNumber(10));
  25.             numbers.add(generateNumber(10));
  26.         } else if (level == 3 || level == 4 || level == 9 || level == 10) {
  27.             numbers.add(generateNumber(100));
  28.             numbers.add(generateNumber(100));
  29.         } else {
  30.             numbers.add(generateNumber(1000));
  31.             numbers.add(generateNumber(1000));
  32.         }
  33.         return numbers;
  34.     }
  35.  
  36.     private static Double generateNumber(int number) {
  37.         return Math.floor(Math.random() * number);
  38.     }
  39.  
  40.     public static Double getAnswer(Double firstNumber, Double secondNumber, Integer level) {
  41.         if (level % 2 == 0 && level < 7) {
  42.             //niveluri de scadere
  43.             return firstNumber - secondNumber;
  44.         } else if (level % 2 != 0 && level < 7) {
  45.             //niveluri de adunare            
  46.             return firstNumber + secondNumber;
  47.         } else if (level % 2 == 0) {
  48.             //niveluri de impartire
  49.             return firstNumber / secondNumber;
  50.         } else {
  51.             //niveluri de inmultire
  52.             return firstNumber * secondNumber;
  53.         }
  54.     }
  55.  
  56.     public static List<Double> generateWrongAnswers(Double firstNumber,
  57.                                                     Double secondNumber,
  58.                                                     Integer level) {
  59.         List<Double> wrongAnswers = new ArrayList<>();
  60.         if (level % 2 == 0 && level < 7) {
  61.             wrongAnswers.add(firstNumber - secondNumber + 10);
  62.             wrongAnswers.add(firstNumber - secondNumber - 10);
  63.             wrongAnswers.add(secondNumber - firstNumber);
  64.         } else if (level % 2 != 0 && level < 7) {
  65.             wrongAnswers.add(firstNumber + secondNumber + 10);
  66.             wrongAnswers.add(firstNumber + secondNumber - 10);
  67.             wrongAnswers.add(firstNumber + secondNumber + 1);
  68.         } else if (level % 2 == 0) {
  69.             wrongAnswers.add(firstNumber / secondNumber * 10);
  70.             wrongAnswers.add(firstNumber / secondNumber / 10);
  71.             wrongAnswers.add(secondNumber / firstNumber);
  72.             wrongAnswers.add(secondNumber / firstNumber * 10);
  73.             wrongAnswers.add(secondNumber / firstNumber / 10);
  74.         } else {
  75.             wrongAnswers.add(firstNumber * secondNumber * 10);
  76.             wrongAnswers.add(firstNumber * secondNumber / 10);
  77.             wrongAnswers.add(firstNumber * secondNumber * 100);
  78.             wrongAnswers.add(firstNumber * secondNumber / 100);
  79.         }
  80.         return wrongAnswers;
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement