Java - Ayuda con la clase Scanner..

 
Vista:
sin imagen de perfil

Ayuda con la clase Scanner..

Publicado por Aja (2 intervenciones) el 26/09/2019 18:56:19
Ayuda con la clase Scanner!
Resulta que quiero hacer un tipo de comparador de dos objetos, uno determinado por medio de herencia, y otro introducido manualmente. Pero no logro hacer que compare los del scanner, si alguien me pudiera ayudar..
Es para hacer un tipo de adivinanzas, como un juego.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.util.Scanner;
 
public class Animal {
 
 
    public String Edad;
    public String Raza;
    public String Naturaleza;
    public String Caracter;
    public String Color;
    public String Tendencias;
 
 
    public Animal(String color, String edad, String raza, String naturaleza, String caracter, String tendencias) {
        this.Edad = edad;
        this.Raza = raza;
        this.Naturaleza = naturaleza;
        this.Color = color;
        this.Caracter=caracter;
        this.Tendencias = tendencias;
 
    }
    public Animal(){}
 
    public String getTendencias() {
        return Tendencias;
    }
 
    public void setTendencias(String tendencias) {
        Tendencias = tendencias;
    }
 
 
 
    public String getEdad() {
        return Edad;
    }
 
    public void setEdad(String edad) {
        Edad = edad;
    }
 
    public String getRaza() {
        return Raza;
    }
 
    public void setRaza(String raza) {
        Raza = raza;
    }
 
    public String getNaturaleza() {
        return Naturaleza;
    }
 
    public void setNaturaleza(String naturaleza) {
        Naturaleza = naturaleza;
    }
 
    public String getCaracter() {
        return Caracter;
    }
 
    public void setCaracter(String caracter) {
        Caracter = caracter;
    }
 
    public String getColor() {
        return Color;
    }
 
    public void setColor(String color) {
        Color = color;
    }
1
2
3
4
5
6
7
8
9
10
11
12
public class Animal1 extends Animal {
 
 
    public Animal1() {
    this.Edad = "5 meses";
    this.Raza = "Persa";
    this.Naturaleza = "Salvaje";
    this.Caracter = "Defensivo";
    this.Color = "Variado";
    this.Tendencias= "Tiende a ser pacifico";
}
}
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
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        Animal1 a1 = new Animal1();
 
        Scanner sn = new Scanner(System.in);
        Animal a = new Animal();
 
        System.out.println("Cual es su edad?");
        a.Edad = sn.nextLine();
        System.out.println("Cual es su Raza?");
        a.Raza = sn.nextLine();
        System.out.println("Cual es la Naturaleza?");
        a.Naturaleza = sn.nextLine();
        System.out.println("Cual es su Caracter?");
        a.Caracter = sn.nextLine();
        System.out.println("Cual es su Color?");
        a.Color = sn.nextLine();
        System.out.println("Que tendencias tiene?");
        a.Tendencias = sn.nextLine();
 
        if (a.equals(a1)) {
 
            System.out.println("Coinciden.");
 
        }else {
            System.out.println("Algo anda mal aca..");
        }
    }
}
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 pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con la clase Scanner..

Publicado por pablo (239 intervenciones) el 26/09/2019 19:49:53
Bueno lo que tienes es una sobrecarga de metodos en tu clase animal y por lo que puedo ver estas llamando al metodo que no hace nada
1
2
3
4
5
6
7
8
9
10
public Animal(String color, String edad, String raza, String naturaleza, String caracter, String tendencias) {
    this.Edad = edad;
    this.Raza = raza;
    this.Naturaleza = naturaleza;
    this.Color = color;
    this.Caracter=caracter;
    this.Tendencias = tendencias;
 
}
public Animal(){}

en tu clase main llamas es al segundo constructor deberías llamar al constructor que llena todos los parametros que le estas pasando en el scanner

1
2
Scanner sn = new Scanner(System.in);
Animal a = new Animal();

y deberías de guardarlo en parametros que te sirvan, es decir guarda en una variable cada Scanner que haces y luego es que declaras la instancia de animal con el metodo sobrecargado donde utilizas todos las variables.

Comentame si te sirve. Saludos
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
sin imagen de perfil

Ayuda con la clase Scanner..

Publicado por Aja (2 intervenciones) el 26/09/2019 22:02:28
Muchas gracias por tu ayuda, aparentemente corregí esos errores.. Pero me sigue sin leer los parámetros pero ya no de de animal, si no que de animal1. Alguna recomendación?
Desactive (elimine) el constructor vació, y active el de los parámetros. Scanner le agregue una variable para que guardara todos sus parámetros generando un nuevo objeto.
Saludos.
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 pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con la clase Scanner..

Publicado por pablo (239 intervenciones) el 26/09/2019 22:28:06
Okey bueno al momento de heredar heredas todos los atributos y métodos de esa clase, no sé si esto solucione tu problema pero que tal si no heredas de animal, si no que simplemente creas los atributos y el constructor con la clase que tienes o al menos que heredes y con super heredes el constructor animal con todos los parámetros, son esas las dos cosas que te puedo recomendar.
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