// Esta clase deben crearla en la package presentacion
package presentacion;
import entidad.Categoria;
import entidad.Reclamo;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner leer = new Scanner(System.in);
List<Categoria> categorias = new ArrayList();
int opcion = -1;
while(opcion!=0) {
System.out.println("Ingrese opcion (1) Crear Categoria (2) Ingresar Reclamo (3) Mostrar Caegoria (4) Informe Cantidad Reclamos Categoria (5) Informe Total Reclamos (0) Salir :");
opcion = leer.nextInt();
if(opcion==1){
System.out.println("Ingrese el nombre");
String nombre = leer.next();
Categoria c = new Categoria();
c.setNombre(nombre);
categorias.add(c);
}
if(opcion==2){
System.out.println("Ingrese titulo");
String tit = leer.next();
System.out.println("Ingrese glosa");
String glo = leer.next();
int cont=1;
int opcionCat = -1;
while(opcionCat!=0) {
for(Categoria c : categorias) {
System.out.print("Opcion : " + cont + " " + c.getNombre() + " ");
}
opcionCat = leer.nextInt();
if((opcionCat>categorias.size())||(opcionCat<=0)) {
System.out.println("Ingrese una opcion valida");
opcionCat = -1;
} else {
int indice = opcionCat - 1;
Reclamo r = new Reclamo();
r.setTitulo(tit);
r.setGlosa(glo);
r.setCategoria(categorias.get(indice));
// Agregar a la lista del main
categorias.get(indice).guardar(r);
opcionCat = 0;
}
}
}
if(opcion==3) {
int cont = 0;
for(Categoria c : categorias) {
System.out.println("Posicion : " + cont + " Nombre : " + c.getNombre());
cont++;
}
}
if(opcion==4) {
int cont=1;
int opcionCat = -1;
while(opcionCat!=0) {
for(Categoria c : categorias) {
System.out.print("Opcion : " + cont + " " + c.getNombre() + " ");
}
opcionCat = leer.nextInt();
if((opcionCat>categorias.size())||(opcionCat<=0)) {
System.out.println("Ingrese una opcion valida");
opcionCat = -1;
} else {
int indice = opcionCat - 1;
System.out.println(categorias.get(indice).cantTotRec());
}
}
}
if(opcion==5) {
int acum=0;
for(Categoria c : categorias){
acum = acum + c.getReclamos().size();
}
System.out.println("Total : " + acum);
}
}
}
}
// Estas clases deben crearlas en el package entidad
package entidad;
public class Reclamo {
private String titulo;
private String glosa;
private Categoria categoria;
public Reclamo() {
}
public Reclamo(String titulo, String glosa, Categoria categoria) {
this.titulo = titulo;
this.glosa = glosa;
this.categoria = categoria;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getGlosa() {
return glosa;
}
public void setGlosa(String glosa) {
this.glosa = glosa;
}
public Categoria getCategoria() {
return categoria;
}
public void setCategoria(Categoria categoria) {
this.categoria = categoria;
}
}
package entidad;
import java.util.ArrayList;
import java.util.List;
public class Categoria {
private String nombre;
private List<Reclamo> reclamos = new ArrayList();
public Categoria() {
}
public Categoria(String nombre) {
this.nombre = nombre;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public List<Reclamo> getReclamos() {
return reclamos;
}
public void setReclamos(List<Reclamo> reclamos) {
this.reclamos = reclamos;
}
public void guardar(Reclamo r) {
this.reclamos.add(r);
}
public void modificar(Reclamo r, int posicion) {
this.reclamos.set(posicion, r);
}
public void eliminar(int posicion) {
this.reclamos.remove(posicion);
}
public Reclamo consultar(int posicion) {
return this.reclamos.get(posicion);
}
public String cantTotRec(){
return "Cantidad total de reclamos : " + this.reclamos.size();
}
}