Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: felix en 21 de Marzo 2014, 23:52
-
lo que pasa es que no puedo llamar a un metodo de otra clase .lo que quiero hacer en este programa es con ayuda de mi otra clase primo,preguntar en otra clase si el numero es primo y que me devuelva el mismo numero.
este en la clase que me manda error
public class FactoresPrimos
{
Primo rimo=new Primo();
public boolean factores (int n)
{
boolean res;
res=rimo.esPrimo(n);
if(res==true)
{
System.out.println("el factor primo de :"+n+"es :"+n);
}
return res;
}
}
y la clase primo
public class Primo
{
public boolean ePrimo(int n)
{
return !esPrimo(n,n-1);
}
public boolean esPrimo(int n,int divisor)
{
boolean res=false;
if(divisor==2)
{
res=(n%2==0);
}else
{
res=(n%divisor==0)||esPrimo(n,divisor-1);
}
return res;
}
}
-
Hola, si lo quieres es saber si un número es primo aquí te dejo el código. Para ver el resultado del programa tienes que ejecutar el método main de la clase testPrimo:
Clase Primo:
public class Primo {
boolean esPrimo(int n) {
//Comprobamos si es múltiplo de 2
if (n%2==0) return false;
//Si no es múltiplo de 2, comprobamos si es divisible por algún número impar
for(int i=3;i*i<=n;i+=2) {
if(n%i==0)
return false;
}
return true;
}
}
Clase testPrimo:
public class testPrimo {
public static void main(String[] Args) {
Primo algoritmoPrimos = new Primo();
int numeroASaberSiEsPrimo = 0;
for (int i= 1; i<10; i++) {
numeroASaberSiEsPrimo = i;
if (algoritmoPrimos.esPrimo(numeroASaberSiEsPrimo) == true) {
System.out.println("El número " + numeroASaberSiEsPrimo + " es primo");
}
else {
System.out.println("El número " + numeroASaberSiEsPrimo + " no es primo");
}
}
}
}
El resultado si ejecutas el programa es:
El número 1 es primo
El número 2 no es primo
El número 3 es primo
El número 4 no es primo
El número 5 es primo
El número 6 no es primo
El número 7 es primo
El número 8 no es primo
El número 9 no es primo