Foro de elhacker.net

Programación => Java => Mensaje iniciado por: furkone en 5 Diciembre 2018, 19:52 pm



Título: ayuda con Ejercicio de Java
Publicado por: furkone en 5 Diciembre 2018, 19:52 pm


Código
  1. package ejercicio7;
  2.  
  3.  
  4. public class Libro {
  5.  
  6.    private String titulo;
  7.    private String tema;
  8.    private double precio;
  9.    private int unidades;
  10.    int ventas = 0;
  11.  
  12.    public Libro( String titulo , String tema ) {
  13.        this.titulo = titulo;    
  14.        this.tema = tema;  
  15.    }
  16.  
  17.    public Libro( double precio , int unidades ){
  18.        this.precio = precio;
  19.        this.unidades = unidades;
  20.    }
  21.  
  22.    public String getTitulo() {
  23.        return this.titulo;
  24.    }
  25.  
  26.    public void setTitulo(String titulo) {
  27.        this.titulo = titulo;
  28.    }
  29.  
  30.    public String getTema() {
  31.        return this.tema;
  32.    }
  33.  
  34.    public void setTema(String tema) {
  35.        this.tema = tema;
  36.    }
  37.  
  38.    public double getPrecio(){
  39.        return this.precio;
  40.    }
  41.  
  42.    public void setPrecio(double precio){
  43.        this.precio = precio;
  44.    }
  45.  
  46.    public double getUnidades(){
  47.        return this.unidades;
  48.    }  
  49.  
  50.    public void setUnidades(int unidades){
  51.        this.unidades = unidades;
  52.    }
  53.  
  54.    public int getVentas(){
  55.        return this.ventas;
  56.    }
  57.  
  58.    public double Vender(int pussy){
  59.       double importe;
  60.       importe= pussy*getPrecio();
  61.       if(unidades>=pussy){
  62.          unidades -= pussy;
  63.          this.ventas += pussy;
  64.       }
  65.       else {
  66.           importe = 0;
  67.       }
  68.  
  69.       return importe;
  70.  
  71.    }
  72. }
Código
  1. package ejercicio71;
  2. import ejercicio7.Libro;
  3. import javax.swing.JOptionPane;
  4.  
  5.  
  6. public class Libreria {
  7. public static Libro libro;
  8.  
  9.    public static void main(String [] args ){
  10.        String resp;
  11.        int opcion;
  12.        int libPosicion=-1;
  13.        Double aux;
  14.        int cont;
  15.        String matriz [][] = new String[9][4];
  16.  
  17.        matriz[0][0] = "Aprenda C Ya";
  18.        matriz[1][0] = "Microsoft Office";
  19.        matriz[2][0] = "Windows 10";
  20.        matriz[3][0] = "C Avanzado";
  21.        matriz[4][0] = "Word Basico";
  22.        matriz[5][0] = "Windows 2015 Server";
  23.        matriz[6][0] = "Access 2015";
  24.        matriz[7][0] = "Diseño de Algoritmos";
  25.        matriz[8][0] = "Excel 2015";
  26.  
  27.        matriz[0][1] = "Programación";
  28.        matriz[1][1] = "Ofimática";
  29.        matriz[2][1] = "Sistemas Operativos";
  30.        matriz[3][1] = "Programación";
  31.        matriz[4][1] = "Ofimática";
  32.        matriz[5][1] = "Sistemas Operativos";
  33.        matriz[6][1] = "Ofimática";
  34.        matriz[7][1] = "Programación";
  35.        matriz[8][1] = "Ofimática";
  36.  
  37.        matriz[0][2] = "75.12";
  38.        matriz[1][2] = "58.6";
  39.        matriz[2][2] = "45";
  40.        matriz[3][2] = "90";
  41.        matriz[4][2] = "64.6";
  42.        matriz[5][2] = "52.3";
  43.        matriz[6][2] = "32.45";
  44.        matriz[7][2] = "90.15";
  45.        matriz[8][2] = "52.58";
  46.  
  47.        matriz[0][3] = "5";
  48.        matriz[1][3] = "12";
  49.        matriz[2][3] = "8";
  50.        matriz[3][3] = "3";
  51.        matriz[4][3] = "10";
  52.        matriz[5][3] = "7";
  53.        matriz[6][3] = "5";
  54.        matriz[7][3] = "0";
  55.        matriz[8][3] = "4";
  56.  
  57.        do{
  58.            resp = JOptionPane.showInputDialog("1.Vender Libro" + "\n2.Buscar Tema" +
  59.                    "\n3.Salir\n" + "\n=============" + "\nOpcion [1-3]");
  60.            opcion = (int) Double.parseDouble(resp);
  61.  
  62.            switch (opcion){
  63.  
  64.                case 1:
  65.  
  66.                        do{
  67.  
  68.                            resp = JOptionPane.showInputDialog("Titulo");
  69.                            libPosicion = buscar( resp , matriz );
  70.  
  71.                            if( libPosicion !=-1 ){
  72.  
  73.                                libro = new Libro( matriz[libPosicion][0] , matriz[libPosicion][1] );
  74.                                libro.setPrecio( Double.parseDouble(matriz[libPosicion][2]) );
  75.                                libro.setUnidades( (int) Double.parseDouble(matriz[libPosicion][3]) );
  76.  
  77.                                System.out.println("Tema:" + libro.getTema() + "\tPrecio:" + libro.getPrecio() + "\tUnidades:" + (int)libro.getUnidades() );
  78.  
  79.                                resp = JOptionPane.showInputDialog("Unida3 a comprar");
  80.  
  81.                                if( libro.getUnidades() >= (int)Double.parseDouble(resp) ){
  82.                                    aux = libro.Vender((int)Double.parseDouble(resp));
  83.                                }
  84.                                else{
  85.                                    JOptionPane.showMessageDialog(null,
  86.                                "No se puede concretar la venta", "Error",        
  87.                                JOptionPane.ERROR_MESSAGE);
  88.                                }
  89.                            }
  90.                            else{
  91.                                JOptionPane.showMessageDialog(null,
  92.                                "El libro no existe", "Error",        
  93.                                JOptionPane.ERROR_MESSAGE);
  94.                            }    
  95.  
  96.                            resp = JOptionPane.showInputDialog("Seguir vendiendo? (S/N)");
  97.                        }while( resp.equalsIgnoreCase("S") );
  98.  
  99.                        break;
  100.  
  101.                case 2:
  102.  
  103.                        do{
  104.                            cont=0;
  105.                            resp = JOptionPane.showInputDialog("Tema");
  106.                            System.out.println("Tema:"+resp+"\n");
  107.                            System.out.printf("%-25s%-10s%-11s%n","Titulo","Precio","Existencias");
  108.                            System.out.printf("%-25s%-10s%-11s%n","======","======","===========");
  109.  
  110.                            for(int i=0 ; i<9 ; i++){
  111.  
  112.                                if( resp.equalsIgnoreCase(matriz[i][1]) ){
  113.                                    System.out.printf("%-25s%-10s%-11s%n",matriz[i][0],matriz[i][2],matriz[i][3]);
  114.                                    cont++;
  115.                                }
  116.  
  117.                            }
  118.                            System.out.println("\nSe han encontra2 " + cont +" libros del tema");
  119.  
  120.                            resp = JOptionPane.showInputDialog("Seguir buscando? (S/N)");
  121.                        }while( resp.equalsIgnoreCase("S") );
  122.  
  123.                        break;
  124.  
  125.            }
  126.  
  127.        }while(!resp.equalsIgnoreCase("3"));
  128.    }
  129.  
  130.    public static int buscar( String nombre , String matriz[][] ){
  131.        int pos=-1;
  132.  
  133.        for(int i=0 ; i<9 ; i++){
  134.            if( nombre.equalsIgnoreCase(matriz[i][0]) ){
  135.                pos = i;
  136.                break;
  137.            }
  138.        }
  139.  
  140.        return pos;
  141.    }
  142.  
  143.  
  144. }

Holaa soy nuevo en Java, no me sale el punto 3 de mi ejercicio, no se me ocurre como hacerlo= 

La opción 3 finalizará el proceso. Al finalizar el mismo se mostrará el siguiente resumen :
Resumen de ventas
Título Tema Precio Unidades Ventas Importe
Título Tema Precio Unidades Ventas Importe
...
Suma Suma Suma


Título: Re: ayuda con Ejercicio de Java
Publicado por: TickTack en 12 Diciembre 2018, 12:24 pm
Hola furkone,

no entiendo. Al elegir la opción tres querés que se finalice el proceso y que además de eso se muestre los títulos, los precios, las unidades, las ventas y el importe de los libros vendidos y la suma de todo eso?


Gracias y saludos


Título: Re: ayuda con Ejercicio de Java
Publicado por: antopixel en 23 Diciembre 2018, 19:16 pm
Es sencillo puedes crear un método en la clase Libros que guarde dentro un ArrayList toda esa informacion como un String, cada vez que se realice una venta, se añade un registro nuevo.

Y ya lo de unidades finales de cada libro lo tienes como variable global, solo lo devuelves y ya esta.

En el menu dentro del  switch mandas a llamar al metodo y luego System.exit(0)