Java - Uso de Scanner con Método Set

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Uso de Scanner con Método Set

Publicado por Leonardo (4 intervenciones) el 03/09/2020 07:05:15
Hola programadores, soy novato y tengo unas dudas.
Esto es a nivel consola.
Si tengo una clase con atributos private solo puedo modificar su valor con un método set, eso lo tengo claro pero si quiero que el usuario ingrese por teclado con Scanner durante la ejecución, los típicos datos de nombre, edad, ciudad, etc.
¿Cómo hago para mí Scanner meterlo en el set y que se dato se almacene en el atributo private? Y si lo que pido es un disparate por favor díganme qué es lo más adecuado en este caso.
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

Uso de Scanner con Método Set

Publicado por pablo (230 intervenciones) el 03/09/2020 17:18:21
Hola Leonardo,

Lo que creo entender es que tienes un Scanner, en la clase main cuando ejecutas tu clase por ejemplo persona y haces la instancia de dicha clase persona, a dicho método pasale los parámetros que necesites es decir algo como:

1
getDatosPersona(nombre,edad,ciudad);

y en la clase persona de ese método llames como lo llames vas a recibir esos parámetros que tenías en la instancia de tu main
1
2
3
4
5
getDatosPersona(string nombre, byte edad, string ciudad){
  this.nombre = nombre;
  this.edad = edad;
 this.ciudad = ciudad
}

También puedes hacer una sobrecarga de constructores si todos estos datos son recibidos al momento de hacer la instancia de la clase.

Espero haberte ayudado.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
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

Uso de Scanner con Método Set

Publicado por Rodrigo (623 intervenciones) el 03/09/2020 20:34:01
Sugiero usar setDatosPersona para un metodo que modifica los campos del objeto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
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

Uso de Scanner con Método Set

Publicado por pablo (230 intervenciones) el 03/09/2020 20:44:39
Exacto como dice Rodrigo, que el método se llame setDatosPersona o cómo quieras.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Uso de Scanner con Método Set

Publicado por Leonardo (4 intervenciones) el 27/09/2020 03:42:14
La otra manera es con el constructor y quedaría así:

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
public class Persona() {
 
private String nombre;
private String apellido;
 
public Persona() {
 
}
 
public Persona(String nombre, String apellido){
 
this.nombre = nombre;
this.apellido = apellido;
}
 
//Métodos Get
public String getNombre(){
return nombre;
}
 
public String getApellido(){
return apellido;
}
 
//Métodos Set
 
public void setNombre(String nombre){
this.nombre = nombre;
}
 
public void setApellido(String apellido){
this.apellido = apellido;
}
 
}
 
 
public class Programa{
 
public static void main(String[] args) {
 
String nombreP, apellidoP;
Scanner sc = new Scanner(System.in);
 
 
 
//Métodos Scanner
System.out.println("Ingresa el nombre");
nombreP = sc.nextLine();
 
System.out.println("Ingresa el apellido");
apellidoP = sc.nextLine();
 
//Instanciación o creación del objeto de mi clase Persona
 
  Persona Leo = new Persona(nombreP, apellidoP);
 
 
//Muestro valores
 
System.out.println(Leo.toString());
 
}
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
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Uso de Scanner con Método Set

Publicado por Leonardo (4 intervenciones) el 27/09/2020 03:38:49
Hola Pablo, gracias por tu respuesta, mira he encontrado varias formas de hacer esto.
La primera es hacer los métodos get y set en la clase Persona, luego en la clase main crear variables que reciban el dato por teclado con Scanner y estas mandarlas como atributo del método set al ser invocado.
Ejemplo:

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
public class Persona() {
 
  private String nombre;
  private String apellido;
 
   public Persona() {
 
   }
 
    public Persona(String nombre, String apellido){
 
     this.nombre = nombre;
     this.apellido = apellido;
     }
 
     //Métodos Get
      public String getNombre(){
       return nombre;
       }
 
       public String getApellido(){
       return apellido;
       }
 
       //Métodos Set
 
        public void setNombre(String nombre){
         this.nombre = nombre;
         }
 
         public void setApellido(String apellido){
         this.apellido = apellido;
         }
 
}
 
 
   public class Programa{
 
    public static void main(String[] args) {
 
     String nombreP, apellidoP;
     Scanner sc = new Scanner(System.in);
 
      //Instanciación o creación del objeto de mi clase Persona
      Persona Leo = new Persona();
 
      //Métodos Scanner
      System.out.println("Ingresa el nombre");
      nombreP = sc.nextLine();
 
      System.out.println("Ingresa el apellido");
      apellidoP = sc.nextLine();
 
     //Meto los datos en el objeto
       Leo.setNombre(nombreP);
 
        Leo.setApellido(apellidoP);
 
 
       //Muestro valores
 
        System.out.println(Leo.toString());
 
}
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
Val: 12
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Uso de Scanner con Método Set

Publicado por Leonardo (4 intervenciones) el 27/09/2020 03:47:08
Y bueno otra manera es donde creo mis métodos para ingresar dentro de la misma clase.
Ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Persona(){
 
private String nombre;
 
Scanner sc = new Scanner(System.in);
 
public Persona()[
}
 
public void ingresarNombre(){
  System.out,println("Ingresa el nombre de la persona");
  nombre = sc.nextLine();
}
 
}

Y ya en el método main solo invoco al método ingresarNombre y luego muestro.
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