Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>TreeSet already sort the numbers ascending by default. </p> <p>Here my version:</p> <p>Sample output:</p> <p><strong>Result: 0.12754837127918317 => BAD<br> Result: 0.7956890627771006 => EXCELLENT<br> Result: 0.3123868511945034 => GOOD<br> Result: 0.6332109887264882 => VERY_GOOD</strong> </p> <pre><code>public class FourRandomNumbersEvaluator { private TreeSet&lt;Double&gt; numbers; private Map&lt;Double,Evaluation&gt; numbersWithEvaluations = new HashMap&lt;Double,Evaluation&gt;(); private enum Evaluation {BAD, GOOD, VERY_GOOD, EXCELLENT} private static final int NUMBER_OF_GENERATED_NUMBERS = 4; public FourRandomNumbersEvaluator(TreeSet&lt;Double&gt; numbers) { if(numbers == null || numbers.size() != 4){ throw new IllegalArgumentException("your have to provide exactly 4 numbers"); } this.numbers = numbers; } public static void main(String[] args) { FourRandomNumbersEvaluator evaluator = new FourRandomNumbersEvaluator(generateNumbers()); evaluator.evaluate(); evaluator.printNumbersWithEvaluations(); } private static TreeSet&lt;Double&gt; generateNumbers() { TreeSet&lt;Double&gt; numbers = new TreeSet&lt;Double&gt;(); while(numbers.size() &lt; NUMBER_OF_GENERATED_NUMBERS){ double number = Math.random(); if(numberNotAlreadyExisting(numbers, number)){ numbers.add(number); } } return numbers; } private static boolean numberNotAlreadyExisting(TreeSet&lt;Double&gt; numbers, double number) { return !numbers.contains(number); } public void evaluate() { int i = 0; for(Double number : numbers){ numbersWithEvaluations.put(number, Evaluation.values()[i++]); } } private void printNumbersWithEvaluations(){ for(Map.Entry&lt;Double,Evaluation&gt; numberWithEvaluation : numbersWithEvaluations.entrySet()) System.out.println("Result: "+ numberWithEvaluation.getKey() + " =&gt; " + numberWithEvaluation.getValue()); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload