Zdravím, mám napsat program, který vypíše prvočísla až do maximálního čísla, které zadá uživatel. Myslím, že jsem program dokázal vytvořit, ale potřeboval bych, aby výstup čísel byl od nejmenšího po největší a ne naopak, jak to mám já.
tj. uživatel zadá např. 4 a můj program vypíše:
---Výsledky---
3, 2,
a já bych chtěl, aby vypsal:
---Výsledky---
2, 3,
Nevíte, prosím, jak to udělat nějak elegantně? Zdrojový kód:
/**
* @ author Nib;
*/
import java.util.*;
public class Prvocisla{
public static int vstupMaxCisla(){
Scanner sc = new Scanner(System.in);
System.out.print("Zadej max. cislo: ");
int cislo = sc.nextInt();
return cislo;
}
public static boolean jePrvocislo(int cislo){
int pomocna = 1;
for (int j = 1; j<cislo-1; j++){
pomocna = pomocna *( cislo%(cislo-j));
}
if (pomocna > 0){pomocna = 0;return true;}
else pomocna = 0; return false;
}
public static void vypisPrvocislo(int cislo){
if (jePrvocislo(cislo) == true && cislo != 1){
System.out.print(cislo+", ");}
}
public static void main(String[] args) {
int cislo = vstupMaxCisla();
int pomcislo = cislo;
System.out.println("---Vysledky---");
for (int i = 0; i<pomcislo;i++){
jePrvocislo(cislo);
vypisPrvocislo(cislo);
cislo = cislo-1;
}
}}
Díky za pomoc! :)