Created
July 28, 2012 20:39
-
-
Save Fhernd/3194713 to your computer and use it in GitHub Desktop.
A simple Java example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.*; | |
public class AplicacionArrObjeto1 | |
{ | |
private static Cuenta arreglo[]; | |
// 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)+ " : "); | |
nombre = in.readLine(); | |
System.out.print("Da el saldo de la cuenta " + (i+1)+ " : "); | |
saldo = Double.parseDouble(in.readLine()); | |
// se crea el objeto de la clase Cuenta como elemento del arreglo | |
arreglo [i] = new Cuenta(numero, nombre, saldo); | |
} | |
} | |
// para desplegar los datos del arreglo de cuentas | |
public static void despliega_arreglo() | |
{ | |
System.out.println("Numero Nombre Saldo"); | |
for (Cuenta objeto : arreglo) | |
{ | |
System.out.println(" " + objeto.obtenNumero() + " " + | |
objeto.obtenNombre() + " " + objeto.obtenSaldo()); | |
} | |
} | |
// obteniendo la suma de los saldos de todas las cuentas | |
public static double suma() | |
{ | |
double total = 0.0d; | |
for (int i = 0; i < arreglo.length; i++) | |
{ | |
Cuenta objeto = arreglo[i]; | |
total += objeto.obtenSaldo(); | |
} | |
return total; | |
} | |
// para calcular el promedio de la matriz cualquiera que sea | |
public static double promedio() | |
{ | |
double total = 0.0d; | |
for (int i = 0; i < arreglo.length; i++) | |
{ | |
Cuenta objeto = arreglo[i]; | |
total += objeto.obtenSaldo(); | |
} | |
return total / arreglo.length; | |
} | |
/** | |
* Muestra las cuentas que superan un saldo específico. | |
*/ | |
public static void mostrarCuentasConSaldoMayor() | |
{ | |
InputStreamReader isr = new InputStreamReader( System.in ); | |
BufferedReader br = new BufferedReader( isr ); | |
double saldo = 0.0; | |
try | |
{ | |
System.out.print( "Dígite el saldo: " ); | |
saldo = Double.parseDouble( br.readLine() ); | |
} | |
catch( NumberFormatException nfe ) | |
{ | |
nfe.printStackTrace(); | |
} | |
catch( IOException ioe ) | |
{ | |
ioe.printStackTrace(); | |
} | |
System.out.println(); | |
boolean encontrado = false; | |
System.out.printf( "%20s%20s%20s\n", "Nombre", "Número", "Saldo" ); | |
for( Cuenta cuenta : arreglo ) | |
{ | |
if( cuenta.obtenSaldo() > saldo ) | |
{ | |
System.out.printf( "%20s%20s%20s\n", cuenta.obtenNombre(), cuenta.obtenNumero(), cuenta.obtenSaldo() ); | |
encontrado = true; | |
} | |
} | |
if( !encontrado ) | |
{ | |
System.out.println( "No se encuentra esa cuenta." ); | |
} | |
} // fin del método mostrarCuentasConSaldoMayor | |
/** | |
* Muestra las cuentas que superan un saldo específico. | |
*/ | |
public static void mostrarCuentasConSaldoMenor() | |
{ | |
InputStreamReader isr = new InputStreamReader( System.in ); | |
BufferedReader br = new BufferedReader( isr ); | |
double saldo = 0.0; | |
try | |
{ | |
System.out.print( "Dígite el saldo: " ); | |
saldo = Double.parseDouble( br.readLine() ); | |
} | |
catch( NumberFormatException nfe ) | |
{ | |
nfe.printStackTrace(); | |
} | |
catch( IOException ioe ) | |
{ | |
ioe.printStackTrace(); | |
} | |
System.out.println(); | |
boolean encontrado = false; | |
System.out.printf( "%20s%20s%20s\n", "Nombre", "Número", "Saldo" ); | |
for( Cuenta cuenta : arreglo ) | |
{ | |
if( cuenta.obtenSaldo() < saldo ) | |
{ | |
System.out.printf( "%20s%20s%20s\n", cuenta.obtenNombre(), cuenta.obtenNumero(), cuenta.obtenSaldo() ); | |
encontrado = true; | |
} | |
} | |
if( !encontrado ) | |
{ | |
System.out.println( "No se encuentra esa cuenta" ); | |
} | |
} // fin del método mostrarCuentasConSaldoMayor | |
public static void main(String[] args) throws IOException | |
{ | |
char opcion; | |
BufferedReader in = | |
new BufferedReader(new InputStreamReader(System.in)); | |
arreglo = null; | |
opcion = ' '; | |
while (opcion != '5') | |
{ | |
System.out.println(" Menu de Cuentas "); | |
System.out.println(); | |
System.out.println("1. Pedir datos para crear Cuentas"); | |
System.out.println("2. Desplegar todas las cuentas"); | |
System.out.println("3. Desplegar Suma de los saldos"); | |
System.out.println("4. Desplegar Promedio de los saldos"); | |
System.out.println("5. Desplegar la cuenta o cuentas con mayor saldo"); | |
System.out.println("6. Desplegar la cuenta o cuentas con menor saldo"); | |
System.out.println("7. Fin"); | |
System.out.println("¿Opcion deseada (1-7) ?"); | |
opcion = in.readLine().charAt(0); | |
switch (opcion) | |
{ | |
case ('1') : | |
System.out.println("Pidiendo datos arreglo Cuentas"); | |
pide_arreglo(); | |
System.out.println(" " + arreglo.length); | |
break; | |
case ('2') : | |
System.out.println("Desplegando arreglo de Cuentas"); | |
despliega_arreglo(); | |
break; | |
case ('3') : | |
System.out.println("Suma de los saldos = " + suma()); | |
break; | |
case ('4') : | |
System.out.println("Promedio de los saldos = " + promedio()); | |
break; | |
case ('5') : | |
mostrarCuentasConSaldoMayor(); | |
break; | |
case ('6') : | |
mostrarCuentasConSaldoMenor(); | |
break; | |
case ('7') : | |
System.out.println("Hasta Luego!"); | |
break; | |
default: | |
System.out.println("Opcion debe ser de 1 a 6"); | |
break; | |
}; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public 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; | |
} | |
// método para depositar | |
public void deposita(double cantidad) | |
{ | |
cambiaSaldo(obtenSaldo() + cantidad); | |
} | |
// método para retirar | |
public boolean retira(double cantidad) | |
{ | |
if (cantidad <= obtenSaldo()) | |
{ | |
cambiaSaldo(obtenSaldo() - cantidad); | |
return true; | |
} | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment