Ahoj,
chtěl bych poprosit o pomoc se řešením problému (může se to zdát lehký, ale jsem začátečník a nějak v tom plavu). Mám za úkol napsat program, kde zadám maximální číslo a on vypíše všechna prvočísla až do tohoto čísla. Přičemž musím použít metody int vstupMaxCisla(), boolean jePrvocislo(int cislo) a void vypisPrvocislo(int prvocislo).
Zatím jsem byl schopný sesmolit jenom tohle:
import java.util.*;
public class Ppa1_cv05_1_A15B0047P
{
static Scanner zadej = new Scanner(System.in);
static int vstupMaxCisla()
{
System.out.print("Zadej max. cislo: ");
int maxCislo = zadej.nextInt();
return maxCislo;
}
static boolean jePrvocislo(int cislo)
{
int maxCislo = vstupMaxCisla();
for(int j=2; j<maxCislo - 1; j++)
{
double jecineni = (maxCislo - 1) % j;
if(jecineni == 0.0) return false;
}
return true;
}
static void vypisPrvocislo(int prvocislo)
{
int maxCislo = vstupMaxCisla();
for(int i=2; i<maxCislo; i++) // cisla, ktera jsou v intervalu od 2 do maxCisla
{
if(jePrvocislo(i))
System.out.print(i +", ");
}
}
public static void main(String[] args)
{
vstupMaxCisla();
System.out.println("---Vysledky---");
vypisPrvocislo(prvocisla);
}
}