Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created July 28, 2012 20:39
Show Gist options
  • Save Fhernd/3194713 to your computer and use it in GitHub Desktop.
Save Fhernd/3194713 to your computer and use it in GitHub Desktop.
A simple Java example
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;
};
}
}
}
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