Como guardar valor preguntado con scanner

publicado por: Anonymous

Buenos días estoy trabajando con java para un proyecto de clase y tengo una duda.
Tengo una clase de nombre Modul y otra de clase Alumne.
En la clase Alumne he declarado un atributo Array de tipo Modul:

ArrayList <Modul> modul = new ArrayList <Modul>();

debido a que un alumno puedo tener varios módulos.

el caso es que en la mainClass cuando quiero quiero guardar los módulos preguntados con el scanner nose como concretar que es de tipo modul lo que ha de guardar.
Por ejemplo cuando formulamos una pregunta y el atributo a guardar es de tipo String lo guardamos así:
variable = EjemploScanner.next();

eso mismo es lo que no se como hacerlo para que en vez de indicarle que el dato a guardar será de tipo modul en cuentas de String o int etc

solución

Si vas a generar un objeto dependiendo de lo que ingrese el usuario por teclado te recomiendo que por orden le digas que ingresara

Creas tu clase

public class Modul{
    public int numero;
    public String nombre;

    public Modul(int numero, String nombre){
        this.numero = numero;
        this.nombre = nombre;
    }

    public int getNumero(){
        return numero;
    }

    public String getNombre(){
        return nombre;
    }

    public void setNumero(int numero){
        this.numero = numero;
    }

    public void setNombre(String nombre){
        this.nombre = nombre;
    }
}

Y cuando leas lo que se ingreso por teclado :

Scanner input =new Scanner (System.in);
System.out.println("Ingrese numero"); 
int numero = input.nextInt();
System.out.println("Ingrese nombre"); 
String nombre = input.next();
Modul modul = new Modul(numero, nombre);
ArrayList<Modul> listaModul = new ArrayList<Modul>();
listaModul.add(modul);

Java tiene demasiados metodos que validan el tipo de entrada que esta recibiendo y si existen aun más datos.

Scanner documentación Esta en ingles pero con el traductor de google se entiende a la perfeccion!

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *