Advertisement
Fhernd

AplicacionArrObjeto2.java

Jul 28th, 2012
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.34 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. public class AplicacionArrObjeto2
  4. {
  5.         private static Cuenta arreglo[];
  6.  
  7.         // para pedir los valores de teclado de el arreglo de cuentas ya creada
  8.         public static void pide_arreglo() throws IOException
  9.         {
  10.                 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  11.  
  12.                 int n;
  13.                 int numero;
  14.                 String nombre;
  15.                 double saldo;
  16.                 System.out.println("¿Cuantos objetos deseas crear?");
  17.                 n = Integer.parseInt(in.readLine());
  18.  
  19.                 // creamos el arreglo de cuentas
  20.                 arreglo = new Cuenta[n];
  21.  
  22.                 // pedimos cada valor para crear un objeto cuenta
  23.                 for (int i = 0; i < n; i++)
  24.                 {
  25.                         System.out.print("Da el numero de la cuenta " + (i + 1) + " : ");
  26.                         numero = Integer.parseInt(in.readLine());
  27.                         System.out.print("Da el nombre de la cuenta " + (i + 1) + " : ");
  28.                         nombre = in.readLine();
  29.                         System.out.print("Da el saldo de la cuenta " + (i + 1) + " : ");
  30.                         saldo = Double.parseDouble(in.readLine());
  31.                         // se crea el objeto de la clase Cuenta como elemento del arreglo
  32.                         arreglo[i] = new Cuenta(numero, nombre, saldo);
  33.                 }
  34.         }
  35.  
  36.         // para desplegar los datos del arreglo de cuentas
  37.         public static void despliega_arreglo()
  38.         {
  39.                 System.out.println("Numero     Nombre           Saldo");
  40.                 for (Cuenta objeto : arreglo)
  41.                 {
  42.                         System.out.println(" " + objeto.obtenNumero() + " "
  43.                                         + objeto.obtenNombre() + " " + objeto.obtenSaldo());
  44.                 }
  45.         }
  46.  
  47.         // obteniendo la suma de los saldos de todas las cuentas
  48.         public static double suma()
  49.         {
  50.                 double total = 0.0d;
  51.  
  52.                 for (Cuenta objeto : arreglo)
  53.                 {
  54.                         total += objeto.obtenSaldo();
  55.                 }
  56.                 return total;
  57.         }
  58.  
  59.         // para calcular el promedio de la matriz cualquiera que sea
  60.         public static double promedio()
  61.         {
  62.                 double total = 0.0d;
  63.  
  64.                 for (Cuenta objeto : arreglo)
  65.                 {
  66.                         total += objeto.obtenSaldo();
  67.                 }
  68.                 return total / arreglo.length;
  69.         }
  70.  
  71.         // pedir un saldo y desplegar que tienen un saldo mayor o igual
  72.         public static void despliega_saldos() throws IOException
  73.         {
  74.                 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  75.  
  76.                 System.out.println("¿Arriba de cual saldo?");
  77.                 double saldo = Double.parseDouble(in.readLine());
  78.  
  79.                 // buscamos en cada objeto Cuenta del arreglo
  80.                 for (Cuenta objeto : arreglo)
  81.                 {
  82.                         if (objeto.obtenSaldo() >= saldo)
  83.                         {
  84.                                 System.out.println(" Nombre " + objeto.obtenNombre()
  85.                                                 + " Cuenta " + objeto.obtenNumero() + " Saldo "
  86.                                                 + objeto.obtenSaldo());
  87.                         }
  88.                 }
  89.         }
  90.        
  91.         /**
  92.          * Búsqueda por número de cuenta.
  93.          */
  94.         public static void busquedaPorNumeroCuenta()
  95.         {
  96.             InputStreamReader isr = new InputStreamReader( System.in );
  97.             BufferedReader br = new BufferedReader( isr );
  98.            
  99.             int numero = 0;
  100.            
  101.             try
  102.             {
  103.                
  104.                 System.out.print( "Dígite el número de la cuenta: " );
  105.                 numero = Integer.parseInt( br.readLine() );
  106.             }
  107.             catch( NumberFormatException nfe )
  108.             {
  109.                 nfe.printStackTrace();
  110.             }
  111.             catch( IOException ioe )
  112.             {
  113.                 ioe.printStackTrace();
  114.             }
  115.            
  116.             System.out.println();
  117.            
  118.             System.out.printf( "%20s%20s%20s\n", "Nombre", "Número", "Saldo" );
  119.            
  120.             for( Cuenta cuenta : arreglo )
  121.             {
  122.                 if( cuenta.obtenNumero() == numero )
  123.                 {
  124.                     System.out.printf( "%20s%20s%20s\n", cuenta.obtenNombre(), cuenta.obtenNumero(), cuenta.obtenSaldo() );
  125.                    
  126.                     break;
  127.                 }
  128.             }
  129.         }
  130.        
  131.         /**
  132.          * Búsqueda por nombre de cliente.
  133.          */
  134.         public static void busquedaPorNombreCliente()
  135.         {
  136.             InputStreamReader isr = new InputStreamReader( System.in );
  137.             BufferedReader br = new BufferedReader( isr );
  138.            
  139.             String nombre = "";
  140.            
  141.             try
  142.             {
  143.                
  144.                 System.out.print( "Dígite el nombre del cliente: " );
  145.                 nombre = br.readLine();
  146.             }
  147.             catch( IOException ioe )
  148.             {
  149.                 ioe.printStackTrace();
  150.             }
  151.            
  152.             System.out.println();
  153.            
  154.             System.out.printf( "%20s%20s%20s\n", "Nombre", "Número", "Saldo" );
  155.            
  156.             for( Cuenta cuenta : arreglo )
  157.             {
  158.                 if( nombre.equals( cuenta.obtenNombre() ) )
  159.                 {
  160.                     System.out.printf( "%20s%20s%20s\n", cuenta.obtenNombre(), cuenta.obtenNumero(), cuenta.obtenSaldo() );
  161.                    
  162.                     break;
  163.                 }
  164.             }
  165.         }
  166.  
  167.         public static void main(String[] args) throws IOException
  168.         {
  169.             char opcion;
  170.             BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  171.  
  172.             arreglo = null;
  173.             opcion = ' ';
  174.            
  175.             while (opcion != '6')
  176.             {
  177.                 System.out.println(" Menu de Cuentas");
  178.                 System.out.println();
  179.                 System.out.println("1. Pedir datos para crear Cuentas");
  180.                 System.out.println("2. Desplegar todas las cuentas");
  181.                 System.out.println("3. Desplegar Suma de los saldos");
  182.                 System.out.println("4. Desplegar Promedio de los saldos");
  183.                 System.out.println("5. Desplegar Cuentas arriba de un Saldo");
  184.                 System.out.println("6. Búsqueda por número de cuenta");
  185.                 System.out.println("7. Búsqueda por nombre del cliente");
  186.                 System.out.println("8. Fin");
  187.                 System.out.println("¿Opcion deseada (1-8) ?");
  188.                 opcion = in.readLine().charAt( 0 );
  189.                
  190.                 switch (opcion)
  191.                 {
  192.                     case ('1'):
  193.                         System.out.println("Pidiendo datos arreglo Cuentas");
  194.                         pide_arreglo();
  195.                         System.out.println(" " + arreglo.length);
  196.                         break;
  197.                        
  198.                     case ('2'):
  199.                         System.out.println("Desplegando arreglo de Cuentas");
  200.                         despliega_arreglo();
  201.                         break;
  202.                            
  203.                     case ('3'):
  204.                         System.out.println("Suma de los saldos = " + suma());
  205.                         break;
  206.                            
  207.                     case ('4'):
  208.                         System.out.println("Promedio de los saldos = " + promedio());
  209.                         break;
  210.                        
  211.                     case ('5'):
  212.                         System.out.println("Desplegando Cuentas arriba de saldo");
  213.                         despliega_saldos();
  214.                         break;
  215.                        
  216.                     case ('6'):
  217.                         busquedaPorNumeroCuenta();
  218.                         break;
  219.                        
  220.                     case ('7'):
  221.                         busquedaPorNombreCliente();
  222.                         break;
  223.                        
  224.                     case ('8'):
  225.                         System.out.println("Hasta Luego!");
  226.                         break;
  227.                        
  228.                     default:
  229.                         System.out.println("Opcion debe ser de 1 a 8");
  230.                         break;
  231.                 }
  232.             }
  233.         }
  234. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement