elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Enviar línea de datos con comas a constructor.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enviar línea de datos con comas a constructor.  (Leído 2,985 veces)
splendid37

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Enviar línea de datos con comas a constructor.
« en: 18 Noviembre 2017, 12:58 pm »

Hola.

Tengo la siguiente duda de como puedo enviar los datos a un constructor mediante el siguiente formato con Scanner : '2.3,4,palabra'

Código
  1.  
  2.    // Constructor
  3.  
  4.    public Producto(double precio, int cantidad, String articulo) {
  5.                this.precio = precio;
  6.                this.cantidad = cantidad;
  7.                this.articulo = articulo;
  8.            }
  9.  
  10.  

Código
  1.  
  2.    // Objeto
  3.  
  4.    Scanner entrada=new Scanner(System.in);
  5.  
  6.    Producto producto1 = new Producto();
  7.  
  8.  

¿Como puedo introducir la línea '2.3,4,palabra' en scanner y enviarla al constructor?

Por separado si sé hacerlo parámetro a parámetro pero no veo la forma de hacerlo en una línea sola con los datos separados por parámetros.

Gracias, Saludos.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Enviar línea de datos con comas a constructor.
« Respuesta #1 en: 18 Noviembre 2017, 14:52 pm »

No hay una forma de hacerlo así en 1 línea.
Realmente, no es necesario a la hora de hacer estos programas.

Ahora bien, tienes la opción de crear una función tipo "create<Producto>(entrada)", que lea la línea, acceda al constructor de la clase por reflection y trate de inferir los argumentos a partir de los constructores de la clase y de la línea leída.

Esto no es tan sencillo, así que mi recomendación es que lo evites. No es necesario complicar tanto un programa.


En línea

HardC0d3

Desconectado Desconectado

Mensajes: 49



Ver Perfil
Re: Enviar línea de datos con comas a constructor.
« Respuesta #2 en: 19 Noviembre 2017, 05:16 am »


La única forma que se me ocurre (muy costosa), es recibir en el constructor un único parámetro String, luego trocear la cadena con el método split() con separador de campos ','  (coma), convertir las Strings al tipo apropiado y asignar cada valor de la posición del vector a tus variables de clase.

Pero es mejor que lo hagas de la forma convencional y sin complicaciones.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines