4
« en: 11 de Junio 2019, 07:27 »
Buenas, me han dejado un programa para añadir, citar, etc elementos en un arraylist, he creado mis constructores y todo lo demas, pero no consigo agregar a la lista... Y para este punto ya he perdido la rienda de todo lo que estoy haciendo y estoy muy confundida, espero puedan ayudarme gracias.
/////CODIGO/////
*Clase Sistema.
public lass Sistema {
private static BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
private static PrintWriter stdOut = new PrintWriter(System.out, true);
CatalogoClientes catalogoClientes;
public Sistema() { }
public static void main(String [] args){
Sistema sistem= new Sistema();
sistem.option(); }
private void menu() {
System.out.println("Seleccione la acción: "+"\n"
+"[1]Añadir Cliente" +"\n"
+"[2] Añadir Provedor"+"\n"
+"[3] Mostrar Clientes"+"\n"
+"[4] Mostrar Provedores"+"\n"
+"[5] Añadir Producto");
System.out.println("choice>"); }
private int option() {
while (true) {
try {
menu();
int op = Integer.parseInt(stdIn.readLine() );
if(op>1 && op<=5) {
return op;
} else {throw new NumberFormatException();}
}
catch(IOException ioe) {
System.out.println("Error al leer los datos");
}
catch(NumberFormatException nfe) {
System.out.println("Se esperaban valores entre 1 y 5");
}
}
}
public void Mainprincipal(){
int op = 0;
do {op = option();
switch (op) {
case 1 :
AddCliente();
break;
case 2:
*Agregar luego
}
}while(op != 0);
}
ArrayList<Cliente>clientes= new ArrayList<Cliente>();
public void AddCliente() {
stdOut.println("Ingrese los datos: [Nombre, RFC, Direccion,Telefono, Razon Social,ID Cliente]");
stdOut.flush();
Cliente tmpCliente = new Cliente(
tmpCliente.setNombre(Nombre),
tmpCliente.setRFC(stdIn.readLine()),
tmpCliente.setDireccion(stdIn.readLine()),
tmpCliente.setTelefono(stdIn.readLine()),
tmpCliente.setRazonSocial(stdIn.readLine()),
tmpCliente.setIdCliente(stdIn.readLine())
);
clientes.add(tmpCliente);
*Todo esto es lo que no tengo idea de como hacer....
}
**********************************************************************
*Clase CatalogoClientes
public class CatalogoClientes implements Iterator<Persona>{
ArrayList<Persona> personas= new ArrayList<Persona>();
public CatalogoClientes() {
personas = new ArrayList<Persona>();
}
public void AddPersona(Persona persona) {
personas.add(persona);
}
public Persona getPersona (int indice) {
return personas.get(indice);
}
public Persona getPersonaByID (String RFC) {
for (Persona per: personas) {
if (per.getRFC()==RFC) {
return per; }
}
return null;}
public void ErasePersona (Persona per) {
personas.remove(per); }
public String ImprimirAll () {
for(int i=0;i<personas.size();i++){
System.out.println(personas.get(i)); }
return null;
}
public Iterator<Persona> IteradorPersona () {
return personas.iterator(); }
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return false;
}
@Override
public Persona next() {
// TODO Auto-generated method stub
return null;
}
}
**********************************************************************
*Clase Persona
public class Persona {
public String Nombre, RFC, Direccion,Telefono,RazonSocial;
ArrayList<Persona> personas= new ArrayList<Persona>();
public Persona(String Nombre, String RFC,String Direccion,String Telefono,String RazonSocial){
this.Nombre=Nombre;
this.RFC=RFC;
this.Direccion=Direccion;
this.Telefono= Telefono;
this.RazonSocial= RazonSocial;}
public String getNombre(){
return Nombre;}
public void setNombre(String Nombre) {
this.Nombre=Nombre;}
//
public String getRFC(){
return RFC;}
public void setRFC(String RFC) {
this.RFC=RFC;}
//
public String getDireccion(){
return Direccion;}
public void setDireccion(String Direccion) {
this.Direccion=Direccion;}
//
public String getTelefono(){
return Telefono;}
public void setTelefono(String Telefono) {
this.Telefono=Telefono;}
//
public String getRazonSocial(){
return RazonSocial;}
public void setRazonSocial(String RazonSocial) {
this.RazonSocial= RazonSocial;}
public String toString(){
return "Nombre: "+getNombre()+"RFC: "+getRFC()+ "Direccion:"+getDireccion()+"Telefono: "+getTelefono()+"Razon Social: "+getRazonSocial();}
}
**********************************************************************
*Clase Cliente
public class Cliente extends Persona{
String idCliente;
public Cliente (String Nombre, String RFC,String Direccion,String Telefono,String RazonSocial, String idCliente) {
super(Nombre, RFC, Direccion, Telefono, RazonSocial);
this.idCliente = idCliente; }
public String getIdCliente(){
return idCliente; }
public void setIdCliente(String idCliente) {
this.idCliente=idCliente; }
public String toString() {
return super.toString() + "id cliente " + idCliente; }
public boolean equals (Object obj) {
if (obj instanceof Cliente) {
Cliente tmpCliente= (Cliente)obj;
if (super.equals(tmpCliente) && Nombre.equals(tmpCliente.getNombre())&&RFC.equals(tmpCliente.getRFC())&&Direccion.equals(tmpCliente.getDireccion())&&Telefono.equals(tmpCliente.getTelefono())&&RazonSocial.equals(tmpCliente.getRazonSocial())&&idCliente.equals(tmpCliente.getIdCliente())); {
return true;
} }
return true;
}}
**********************************************************************
*Clase Provedor
public class Provedor extends Persona{
String idProvedor;
String fax;
String email;
public Provedor(String idProvedor, String fax, String email, String Nombre,
String Direccion, String RFC, String Telefono, String RazonSocial){
super(Nombre,Direccion,RFC,Telefono,RazonSocial);
this.idProvedor = idProvedor;
this.fax = fax;
this.email = email; }
public String getIdProvedor(){
return idProvedor;}
public void setIdProvedor(String idProvedor) {
this.idProvedor=idProvedor; }
//
public String getfax(){
return fax; }
public void setFax(String fax) {
this.fax=fax;
}
//
public String getEmail(){
return email; }
public void setEmail(String email) {
this.email=email;}
}
**********************************************************************
Cabe resaltar que también tendré que tener una clase con productos (añadir,quitar,etc) , pero esa pensaba implementarla cuando pudiera lograr esto... de igual manera, se añadiría de la misma manera desde mi clase Sistema?... O tendria que implementar algo?
Muchas gracias.