Java - Ayuda para principiante

 
Vista:

Ayuda para principiante

Publicado por kakuzis (2 intervenciones) el 16/05/2013 13:57:56
Buenas.
Pido ayuda ya que me han pedido un ejercicio en Java y no soy capaz de hacerlo.
El programa debe tener un menú como el siguiente:
1. Añadir contacto
2. Buscar contacto por nombre
3. Listar contactos
4. Salir

Cada contacto tendrá un nombre y un teléfono, y deben almacenarse en un fichero de texto donde cada línea será un contacto, es decir, un nombre y un teléfono que separaremos por el símbolo @. Este podría ser un ejemplo del fichero de texto:

Miguel@2345
Manuel@534
Maria Luisa@345667

El programa debe añadir un contacto en el fichero para la opción de menú 1. Mostrar el nombre y el teléfono (separadamente) buscado en el fichero de texto por un nombre que el usuario entrará por teclado para la opción 2. Mostrar el nombre y teléfono (separados) del fichero de texto para la opción 3.

Nota: en la opción 2, simplemente con mostrar el primer contacto que coincida ya es suficiente.



Si alguien me ayudase se lo agradecería enormemente ya que llevo 2 días con el netbeans sacando las clases de cform con susu eventos pero me salen errores por todos los lados.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ayuda para principiante

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 16/05/2013 17:27:27
hola,
debes empezar por partes, yo te aconsejaría que primero almacenes un contacto. Para eso debes tener una clase que gestiones esto, puede llamarse GestionContacto, en el estaran los metodos addContacto, removeContacto, entre otros metodos. Esta clase tambien debe tener una estructura que permita almacenar los contactos por ejemplo un ArrayList, Vector o una lista enlazada creada por ti, en fin, existen muchas. Cuando llamen al método addContacto, dentro solo tendrás que utilizar la lista para adicionar, ej: arraylist.add(contacto). Otra clase que debes hacer es la clase que represente el contacto. por ejemplo la clase Contacto y en el todas las propiedades del contacto, como nombre, telefono,ciudad, etc. La lista guardara objetos contacto por lo que si lo vas hacer con un arrayList debes utilizar la propiedad generica ej: ArrayList<Contacto> lista= new ArrayList<Contacto>(); ETC. Por favor manda los errores a medida que vayas codificando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para principiante

Publicado por kakuzis (2 intervenciones) el 16/05/2013 17:41:25
No me pide almacenarlo en un array sino en un fichero de texto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ayuda para principiante

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 16/05/2013 20:39:49
De que manera??. Cuando se utilizan archivos con la clase FileOutputStream, ObjectOutputStream para guardar o FileInputStream ,ObjectInputStream para cargar, se puede almacenar cualquier tipo de objeto serializable, incluso un arrayList. EJ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private static ArrayList<Contacto> cargar(String nombreArchivo) {
	       FileInputStream   fileIn;
	     	ObjectInputStream in;
	     	ArrayList<Contacto> contactos=null;
	   	  	try
	   	  	{
	   	  		fileIn = new FileInputStream   (nombreArchivo);
	   	  		in     = new ObjectInputStream ( fileIn   );
 
	   	  		admin = ( Iterator ) in.readObject();
	   	   	}
	   	  	catch( Exception e )
	   	  	{
	   			admin=null;
	   	  	}
	   	  	return admin;
	    }
 
	 public static void save ( String nameFile,ArrayList<Contacto> i ) throws Exception
	   {
	   		FileOutputStream   fileOut;
	    	ObjectOutputStream out;
	    	fileOut = new FileOutputStream   ( nameFile );
	   	  	out     = new ObjectOutputStream ( fileOut  );
	     	out.writeObject(i);
	  		out.flush();
	  		out.close();
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar