Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.skalyter.becomeproject;
- import java.util.ArrayList;
- import java.util.List;
- public abstract class Quiz {
- /**
- * Intrebarile sunt structurate pe 4 categorii: adunare, scadere, inmultire, impartire
- * Primele 6 niveluri vor contine operatii de adunare si scadere, in mod alternativ
- * La fiecare doua niveluri se va incrementa intervalul de valori al numerelor
- *
- * La nivelul 7 se face trecerea la operatii de inmultire si impartire, in mod alternativ.
- * Asemenea primelor niveluri, se va incrementa intervalul de valori al numerelor odata la fiecare
- * doua niveluri.
- *
- * Astfel: nivelurile 1,2, 7 si 8 vor contine numere formate din maxim 2 cifre,
- * nivelurile 3, 4, 9 si 10 vor contine numere formate din maxim 3 cifre,
- * nivelurile 5, 6, 11 si 12 vor contine numere formate din maxim 4 cifre
- * */
- public static List<Double> generateQuizNumbers(Integer level) {
- List<Double> numbers = new ArrayList<>();
- if (level == 1 || level == 2 || level == 7 || level == 8) {
- numbers.add(generateNumber(10));
- numbers.add(generateNumber(10));
- } else if (level == 3 || level == 4 || level == 9 || level == 10) {
- numbers.add(generateNumber(100));
- numbers.add(generateNumber(100));
- } else {
- numbers.add(generateNumber(1000));
- numbers.add(generateNumber(1000));
- }
- return numbers;
- }
- private static Double generateNumber(int number) {
- return Math.floor(Math.random() * number);
- }
- public static Double getAnswer(Double firstNumber, Double secondNumber, Integer level) {
- if (level % 2 == 0 && level < 7) {
- //niveluri de scadere
- return firstNumber - secondNumber;
- } else if (level % 2 != 0 && level < 7) {
- //niveluri de adunare
- return firstNumber + secondNumber;
- } else if (level % 2 == 0) {
- //niveluri de impartire
- return firstNumber / secondNumber;
- } else {
- //niveluri de inmultire
- return firstNumber * secondNumber;
- }
- }
- public static List<Double> generateWrongAnswers(Double firstNumber,
- Double secondNumber,
- Integer level) {
- List<Double> wrongAnswers = new ArrayList<>();
- if (level % 2 == 0 && level < 7) {
- wrongAnswers.add(firstNumber - secondNumber + 10);
- wrongAnswers.add(firstNumber - secondNumber - 10);
- wrongAnswers.add(secondNumber - firstNumber);
- } else if (level % 2 != 0 && level < 7) {
- wrongAnswers.add(firstNumber + secondNumber + 10);
- wrongAnswers.add(firstNumber + secondNumber - 10);
- wrongAnswers.add(firstNumber + secondNumber + 1);
- } else if (level % 2 == 0) {
- wrongAnswers.add(firstNumber / secondNumber * 10);
- wrongAnswers.add(firstNumber / secondNumber / 10);
- wrongAnswers.add(secondNumber / firstNumber);
- wrongAnswers.add(secondNumber / firstNumber * 10);
- wrongAnswers.add(secondNumber / firstNumber / 10);
- } else {
- wrongAnswers.add(firstNumber * secondNumber * 10);
- wrongAnswers.add(firstNumber * secondNumber / 10);
- wrongAnswers.add(firstNumber * secondNumber * 100);
- wrongAnswers.add(firstNumber * secondNumber / 100);
- }
- return wrongAnswers;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement