Hola, Estaba haciendo un programa donde una persona puede Crear un teatro, colocarle nombre, dirección y su cantidad de funciones. Y cada función tendría un nombre hora y precio. Y luego los imprime en pantalla
he podido hacer eso, pero mi problema esta cuando intento hacer que la persona digite el numero de teatros que desea crear y ahí coloque cada uno de los datos anteriores.
Se que es con dos arrays ya hice uno solo me falta el segundo
Mi código lo dividí en 3 Packages diferentes ahí los indico
Package Modelo
public class Funcion {
private String nombre;
private int precio;
private String hora;
public Funcion(String nombre, int precio, String hora) {
this.nombre = nombre;
this.precio = precio;
this.hora = hora;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getPrecio() {
return precio;
}
public void setPrecio(int precio) {
this.precio = precio;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
}
public class Teatro {
private String nombre;
private String direccion;
private Funcion[] funcion;
public Teatro(String nombre, String direccion,int numerofuncion) {
this.nombre = nombre;
this.direccion = direccion;
this.funcion =new Funcion[numerofuncion];
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public Funcion[] getFuncion(){
return funcion;
}
public void setFuncion(Funcion[] funcion) {
this.funcion = funcion;
}
public void AgregarFuncion(Funcion funcioncita){
for(int i=0;i<funcion.length; i++){
if(this.funcion[i] == null){
this.funcion[i] = funcioncita;
break;
}
}
}
}
Package Controlador
import java.util.Scanner;
import Modelo.Funcion;
import Modelo.Teatro;
public class Cinemark {
private Teatro miteatro;
Scanner dato=new Scanner(System.in);
public void CrearTeatro(){
String nombre,direccion;
int nfunciones;
System.out.println("CREAR TEATRO");
System.out.println("Nombre del teatro: ");
nombre=dato.next();
System.out.println("Dirrecion del teatro: ");
direccion=dato.next();
System.out.println("Numero de funciones: ");
nfunciones=dato.nextInt();
miteatro=new Teatro(nombre,direccion,nfunciones);
}
public void CrearFuncion(){
String nombre, hora,nombreteatro;
int precio;
System.out.println("CREAR FUNCION");
System.out.println("Nombre de la funcion:");
nombre=dato.next();
System.out.println("Precio de la funcion:");
precio=dato.nextInt();
System.out.println("Hora de la funcion:");
hora=dato.next();
miteatro.AgregarFuncion(new Funcion(nombre, precio, hora));
}
public void ImprimirDatos(){
System.out.println("Nombre del teatro: "+ miteatro.getNombre());
System.out.println("Direccion del teatro: " +miteatro.getDireccion());
System.out.println("\nFunciones");
Funcion[] funcion = miteatro.getFuncion();
for(int i=0;i<funcion.length;i++){
if(funcion[i]!= null){
System.out.println("\nNombre: "+ funcion[i].getNombre());
System.out.println("Hora: "+ funcion[i].getHora());
System.out.println("Nombre: "+ funcion[i].getPrecio());
}
}
}
public void Inicio(){
int x=0;
int nteatros;
System.out.println("Diga cuantos Teatros desea colocar: ");
nteatros=dato.nextInt();
//miteatro=new Cine(nteatros);
do{
System.out.println("Hola \n seleccione el numero correspondiente a la opcion que necesite:");
System.out.println("Crear teatro: 1");
System.out.println("Crear funcion: 2");
System.out.println("Imprimir: 3");
System.out.println("Salir: 4");
x=dato.nextInt();
switch(x){
case(1):
CrearTeatro();
break;
case(2):
CrearFuncion();
break;
case(3):
ImprimirDatos();
case(4):
System.exit(0);
}
}
while(x!=4);
}
}
Y por ultimo el Package Principal
import Modelo.Funcion;
import Modelo.Teatro;
import Controlador.Cinemark;
public class App {
public static void main(String[] args) {
new Cinemark().Inicio();
}
}
Ahora bien, Se que tendría que cambiar el atributo de la clase Cinemark por private Teatro[] miteatro;
pero no se como hacer que los datos que ingrese la persona se asignen en un espacio de ese array o por lo menos el contexto es el que me esta confundiendo.
Agradecería la ayuda