Tzn. nie potrafię zapisać zmiennej prywatnej która będzie w public LIczbyPierwsze( int n) i będę jej mógł użyć w int getMax
Program wyszukujący liczby pierwsze z podanego zakresu
- Rejestracja: dni
- Ostatnio: dni
- Postów: 88
0
Poradziłem sobie :D dziękuje!!!
Kurde a jednak jak sobie sprawdzam jaka jest wartosc getMax() gdy podam args[0] 14 to mi wychodzi 70 nie mam pojęcia dlaczego
źle?
public class LiczbyPierwsze
{
private int[] liczby;
int z=0;
public LiczbyPierwsze(int n)
{
liczby = new int[n];
int index = 0;
for (int i = 2; i < n; i++)
{
if (isPrime(i))
{
liczby[index++] = i;
}
}
}
private int i;
public int getMax()
{
return i;
}
private boolean isPrime(int n)
{
if (n < 2)
{
return false;
}
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
public int liczba(int m)
{
return liczby[m];
}
}
no oczywiście, że źle bo tworzę jakieś nowe i, a ja chce tamto :D ale nie moge użyć private w tej metodzie..
- Rejestracja: dni
- Ostatnio: dni
- Postów: 88
0
```public class Test
{
public static void main(String[] args)
{
int n=Integer.parseInt(args[0]);
if(n<2)
{
System.out.print(args[0]);
System.out.print(" - "+"Nieprawidłowy zakres");
}
else
{
LiczbyPierwsze pierwsze = new LiczbyPierwsze(n);
for(int i=1; i<args.length; i++)
{
if(Integer.parseInt(args[i])<=pierwsze.getMax())
{
System.out.print(Integer.parseInt(args[i])+ " - ");
System.out.print(pierwsze.liczba(Integer.parseInt(args[i])));
System.out.println();
}
else
{
System.out.print(Integer.parseInt(args[i]));
System.out.print("-"+"Liczba spoza zakresu");
System.out.println();
}
}
}
}
}
```java
```public class LiczbyPierwsze
{
private int[] liczby;
int z=0;
int index;
public LiczbyPierwsze(int n)
{
liczby = new int[n];
for (int i = 2; i < n; i++)
{
if (isPrime(i))
{
liczby[index++] = i;
}
}
}
public int getMax()
{
return liczby[index];
}
private boolean isPrime(int n)
{
if (n < 2)
{
return false;
}
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
public int liczba(int m)
{
return liczby[m];
}
}
Myślałem, że się z tym uporałem ale jak wpisze Java Test 13 0 to wyskoczy mi 0-2 tak jak powinno a jak np java Test 13 2 to juz 2-spoza zakresu.. nie rozumiem :D