Java - Dudas sobre un programa Java

 
Vista:
sin imagen de perfil

Dudas sobre un programa Java

Publicado por djzzz (1 intervención) el 23/05/2015 16:32:51
Buenas tardes.
Pues al meollo, estoy empezando con OOP, y haciendo un programa me han salido un par de inconvenientes que no soy capaz de solucionar por mi mismo, y mira que he dado vueltas...
La primera sería, teniendo este código:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.*;
 
public class AnadeCantidad {
 
	static String comprobarCif = null;
	static String comprobarTipo;
 
	@SuppressWarnings({ "rawtypes", "resource" })
	public static void anadeCant(ArrayList array, GenerarCliente cliente){
 
		Scanner sc = new Scanner(System.in);
 
		System.out.println("Introduce el CIF de cliente: ");
		comprobarCif = sc.next();
 
		if (array.isEmpty()) {
 
			System.out.println("No hay clientes creados, se te enviará a crear un nuevo cliente");
			AnadeCliente.anadeC();
 
		}
 
		if (comprobarCif == cliente.getCif()) {
 
			System.out.println("El cliente actual es:" +cliente+ "tipo" +cliente.getTipo());
 
		} else {
 
			System.out.println("El CIF no existe o no es correcto, prueba de nuevo:");
			AnadeCantidad.anadeCant(array, cliente);
 
		}
 
		if (cliente.getTipo() == TipoCliente.normal){
 
			CalculoCantidadCobrar.clienteN(cliente);
 
		} else if (cliente.getTipo() == TipoCliente.preferente){
 
			CalculoCantidadCobrar.clienteP(cliente);
 
		}
 
		Menu.menu();
 
	}
 
}

Y suponiendo que tengo otra clase creada en la cual introduces por teclado una serie de atributos que se almacenan recursivamente en un objeto, y a su vez se guarda en un ArrayList... cómo puedo controlar en esta clase a qué cliente se le están añadiendo estas funciones de esta otra clase?

Y mi segunda duda es:
Siendo parte del mismo programa, la de generar tanto un fichero binario como uno de texto a partir del contenido del mismo ArrayList. El caso es, que yo ese ArrayList le he convertido en un array normal tipo Object con array.toArray(); ... El fichrero binario le creo fácil y le escribo con ObjectOutputStream, pero el fichero de texto no soy capaz de crearle, abro el flujo de escritura y nada de nada. Creo que es por el tipo de atributos que tienen las variables(hay varios String, así como double, e int). Por dónde pasa la solución para poder escribir ese array tipo Object que contiene esos objetos en el fichero de texto? El código de la otra parte es este:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.util.*;
import java.io.*;
 
public class CrearFicheros {
 
	public void ficheroBinario(ArrayList array) {
 
		String ficheroBinario = "fbinario.dat";
 
		try {
 
			ObjectOutputStream oos = new ObjectOutputStream(
					new FileOutputStream(ficheroBinario));
 
			for (int i = 0; i < array.size(); i++) {
 
				oos.writeObject(array);
 
			}
 
			oos.close();
 
		} catch (Exception e) {
 
			System.out.println("El archivo no se puede escribir");
 
		}
 
		try {
 
			ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
					ficheroBinario));
			Object leer = ois.readObject();
 
			while (leer != null) {
 
				System.out.println(leer);
				leer = ois.readObject();
 
			}
 
			ois.close();
 
		} catch (Exception e2) {
 
			System.out.println("El archivo no se puede leer");
 
		}
 
	}
 
	public void ficheroTexto(){
 
	}
 
}


Muchísimas gracias de antemano, sé que hay fallitos en el código, pero porque no he querido remodelar hasta no resolver mis dudas..ésto me está volviendo loco!
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