Cześć, tak jak w temacie, chciałem napisać program który wypisuje liczby pierwsze z przedziału podanego przez użytkownika... nie jestem w stanie teraz sam sprawdzić co jest źle. W mainie wczytuje 2 liczby x1 i x2 później idzie pętla od x1 do x2 i w każdym obrocie pętli w if'ie sprawdzam czy jest to liczba pierwsza.
//main package liczby_pierwsze; import java.lang.*; import java.util.Scanner; public class Liczby_pierwsze { public static void main(String[] args) { System.out.println("Podaj przedzial x1<x2"); Scanner sc = new Scanner(System.in); int x1 = sc.nextInt(); int x2 = sc.nextInt(); czy_pierwsza c = new czy_pierwsza(); for(int i = x1; i<=x2;i++){ if (c.licz(i)) { System.out.println(i); } } } } //klasa pomocnicza package liczby_pierwsze; public class czy_pierwsza { public boolean licz(int x){ int licznik = 0; int z = (int) Math.sqrt(x); for(int i=0;i<=z;i++){ if(z%i == 0){ licznik++; } } if(licznik>2) return false; else return true; } }