Estoy usando una clase externa que contiene el método: public static boolean isPrime (int n).

Soy nuevo en java y no sé cómo llamar a un método de otra clase, he estado leyendo en otras publicaciones y sugieren crear un objeto, así que eso es lo que hice creando TestPrime objeto = new TestPrime () ; pero el if (objeto.isPrime (arrayInt [i]) == true) no funciona.

import com.utad.idcd.redes.PrimeNumber;
public class TestPrime {
    public static void main(String[] args) {
        TestPrime objeto = new TestPrime();
        int arrayInt[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        for (int i = 0; i < 9; i++) {

            System.out.print("El" + arrayInt[i] + "es: ");

            if (objeto.isPrime(arrayInt[i]) == true) {
                System.out.print("primo\n");
            } else {
                System.out.print("no primo\n");
            }
        }    
    } 
}
0
pete 12 nov. 2017 a las 13:49

2 respuestas

La mejor respuesta

Tienes que crear un objeto de la clase PrimeNumber

import com.utad.idcd.redes.PrimeNumber;
public class TestPrime {
    public static void main(String[] args) {
        int arrayInt[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        for (int i = 0; i < 9; i++) {

            System.out.print("El" + arrayInt[i] + "es: ");

            if (PrimeNumber.isPrime(arrayInt[i]) == true) {
                System.out.print("primo\n");
            } else {
                System.out.print("no primo\n");
            }
        }    
    } 
}

Ahora debería funcionar bien.

Editar: lo siento, no vi que el método fuera estático; dado que su método es estático y público, también puede usar la importación estática como:

import static com.utad.idcd.redes.PrimeNumber.isPrime;

Y luego use directamente la función como

if (isPrime(arrayInt[i]) == true) { 
0
alexrnov 9 may. 2020 a las 12:53

Por favor, mira el ejemplo a continuación, chico,

Class PrimeNumber {

Public void boolean isPrimeNumber () {

// Tu código verifica el número primo aquí

}

}

Class MainTest {

  public static void main(String[] args) {
    PrimeNumber obj =new PrimeNumber();
    int arrayInt[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for(int i=0; i<9; i++){

        System.out.print("El" + arrayInt[i] + "es: ");

        if(obj.isPrimeNumber(arrayInt[i])==true){
            System.out.print("primo\n");
        }
        else {
            System.out.print("no primo\n");
        }
   }    
}

}

-1
soyphea 12 nov. 2017 a las 11:05