Aplicaicon Arreglo3
Enviado por jozisdx • 13 de Septiembre de 2012 • 1.531 Palabras (7 Páginas) • 482 Visitas
/**
* @(#)AplicacionArregloObjeto3.java
*
*
* @author
* @version 1.00 2012/8/2
*/
package cuentas;
import java.io.*;
import java.util.StringTokenizer;
class Cuenta {
private String nombre; // nombre del cliente
private int numero; // numero de la cuenta
private double saldo; // saldo de la cuenta
// método para construir una cuenta vacía
public Cuenta() {
nombre = "";
numero = 0;
saldo = 0.0d;
}
// método para construir una cuenta con valores
public Cuenta(int numero, String nombre, double saldo) {
this.nombre = nombre;
this.numero = numero;
this.saldo = saldo;
}
// método que te dá el nombre de la cuenta
public String obtenNombre() {
return nombre;
}
// método que te dá el número de la cuenta
public int obtenNumero() {
return numero;
}
// método que te dá el saldo de una cuenta
public double obtenSaldo() {
return saldo;
}
// método que sirve para cambiar el valor del nombre
public void cambiaNombre(String nombre) {
this.nombre = nombre;
}
// método que sirve para cambiar el valor del saldo
public void cambiaNumero(int numero) {
this.numero = numero;
}
// método que sirve para cambiar el valor del saldo
public void cambiaSaldo(double saldo) {
this.saldo = saldo;
}
// metodo para depositar
public void deposita(double cantidad) {
cambiaSaldo(obtenSaldo() + cantidad);
}
// metodo para retirar
public boolean retira(double cantidad) {
if (cantidad <= obtenSaldo()) {
cambiaSaldo(obtenSaldo() - cantidad);
return true;
}
return false;
}
// metodo para regresar un String como objeto
public String toString() {
return obtenNumero() + " " + obtenNombre() + " " + obtenSaldo();
}
}
class AplicacionArrObjeto3 {
private static Cuenta arreglo[];
/**
* Guarda en el arreglo los datos cargados de un archivo de cuentas
* @throwsIOException
*/
public static void carga_arreglo() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("datos.txt"));
String origen;
try {
//Pido la ruta del archivo
System.out.println("Ingrese la ruta del archivo : ");
origen = br.readLine();
BufferedReader file_in = new BufferedReader(new FileReader(origen));
//Obtengo primero la cantidad de lineas del archivo para crear el arreglo
arreglo = new Cuenta[obtenerLineas(origen)];
//Leo el archivo y guardo los valores en su respectiva casilla
String linea;
int numero;
String nombre;
double saldo;
int i=0;
while ((linea = file_in.readLine()) != null) {
StringTokenizer st = new StringTokenizer(linea, ";");
numero = Integer.parseInt(st.nextToken());
nombre = st.nextToken();
saldo = Double.parseDouble(st.nextToken());
arreglo[i] = new Cuenta(numero, nombre, saldo);
i++;
}
} catch (FileNotFoundException ex) {
System.out.println("Archivo no encontrado : " + ex.toString());
}
}
/**
* Obtiene las lineas de un archivo
* @param archivo
* @return
*/
public static int obtenerLineas(String archivo) throws IOException{
BufferedReader file_in = new BufferedReader(new FileReader(archivo));
int nlineas = 0;
String linea;
while( (linea = file_in.readLine()) != null){
nlineas++;
}
return nlineas;
}
// para pedir los valores de teclado de el arreglo de cuentas ya creada
public static void pide_arreglo() throws IOException{
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
int n;
int numero;
String nombre;
double saldo;
System.out.println("¿Cuantos objetos deseas crear?");
n = Integer.parseInt(in.readLine());
// creamos el arreglo de cuentas
arreglo = new Cuenta[n];
// pedimos cada valor para crear un objeto cuenta
for (int i=0; i<n; i++) {
System.out.print("Da el numero de la cuenta " + (i+1)+ " : ");
numero = Integer.parseInt(in.readLine());
System.out.print("Da el nombre de la cuenta " + (i+1)+
...