Java - Ayuda al igualar una variable con un parámetro

 
Vista:

Ayuda al igualar una variable con un parámetro

Publicado por Ulises (1 intervención) el 10/06/2020 00:40:36
Hola! Soy nuevo en esto y aún me faltan algunos detalles por comprender pero no sé cual es mi error en el siguiente código. Estoy practicando con POO.
Necesito que la variable n se iguale al valor de la variable num para usarlo otros métodos.
Si hay otra forma de hacerlo lo agradeceré igualmente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class Número {
    private int n;
 
    public Número()
    {
        n=0;
    }
 
    public void setNúmero(int num)
    {
        n=num;
    }
 
    private void Par()
    {
        if(n%2==0)
        {
             System.out.println("Es par");
        }
    }
 
    private void Impar()
    {
        if(n%2!=0)
        {
            System.out.println("Es impar");
        }
    }
 
    private void Primo()
    {
        if(n%n==0)
        {
            System.out.println("Es primo");
        }
    }
 
    public int getNúmero()
    {
        Número pr=new Número();
        pr.Par();
        Número impr=new Número();
        impr.Impar();
        Número prm=new Número();
        prm.Primo();
        System.out.println("Valor considerado");
        return n;
 
    }
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda al igualar una variable con un parámetro

Publicado por Rodrigo (623 intervenciones) el 10/06/2020 02:56:07
Pareciera que te faltara llamar al metodo setNumero() para que tu programa principal tenga algo mas de sentido.

La aritmetica detras del metodo Primo() parece errada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda al igualar una variable con un parámetro

Publicado por Franklin (179 intervenciones) el 10/06/2020 14:13:40
coincido con Rodrigo, si llamas a la clase inicialmente <n> no tendrá valor a menos que llames setNumero(), aunque me llama la atención el metodo getNumero, donde creas varios objetos de tipo número y a la final retorna <n>, que en ningún momento lo has usado para cambiar su valor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda al igualar una variable con un parámetro

Publicado por Costero (148 intervenciones) el 10/06/2020 19:18:07
No uses getter/setter solo si es completamente necesario.

Los metodos en java por acuerdo general deben empezar con minusculas;

Trata que los metodos hagan solo una cosa. Nota como quite los System.out.println y lo puse en un metodo que solo lo que hace es print los resultados. Seria mejor que este metodo no estuviera en la clase y estuviera en una clase(s) externa que pueda hacer con los resultados lo que desee. Entonces tendrias que cambiar los metodos necesarios de private a public.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public final class Numero {
    private final int n;
 
    public Numero(int num) {
        this.n = num;
    }
 
    private boolean isPrimo() {
        // Corner case
        if (n <= 1)
            return false;
 
        // Check from 2 to n-1
        for (int i = 2; i < n; i++)
            if (n % i == 0)
                return false;
 
        return true;
    }
 
    private boolean isPar() {
        return n % 2 == 0;
    }
 
    public void printResult() {
        System.out.println();
        System.out.println("En numero: [" + n + "] es:");
        if (this.isPar()) {
            System.out.println("Par");
        } else {
            System.out.println("Impar");
        }
 
        if (this.isPrimo()) {
            System.out.println("Primo");
        } else {
            System.out.println("No Primo");
        }
    }
 
    public static void main(String[] args) {
        Numero numero = new Numero(3);
        numero.printResult();
 
        numero = new Numero(4);
        numero.printResult();
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar