Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package fabricadecajas;
- import java.util.ArrayList;
- import javax.swing.JOptionPane;
- import static javax.swing.JOptionPane.YES_NO_OPTION;
- /**
- *
- * @author Carlos
- */
- public class FabricaDeCajas {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- // TODO code application logic here
- ArrayList<Caja> fabrica;
- int n, opcion; // numero de Cajas
- String menu;
- fabrica=new ArrayList<>();
- Caja nuevaCaja=null;
- do{
- menu="El programa permite\n1-Ingresar una Caja\n2-Calcular el Volumen de una Caja\n3-Modificar una Caja\n 4-Calcular Volumen Cajas\n5-Calcular mayor Caja\n6-Salir";
- menu=JOptionPane.showInputDialog(menu);
- opcion=Integer.parseInt(menu);
- switch(opcion){
- case 1:
- menu=JOptionPane.showInputDialog("Ingrese el Alto de la Caja ");
- double alto=Double.parseDouble(menu);
- menu=JOptionPane.showInputDialog("Ingrese el Ancho de la Caja ");
- double ancho=Double.parseDouble(menu);
- menu=JOptionPane.showInputDialog("Ingrese la profundidad de la Caja ");
- double prof=Double.parseDouble(menu);
- nuevaCaja=new Caja(alto,ancho,prof);
- fabrica.add(nuevaCaja);
- break;
- case 2:
- menu=JOptionPane.showInputDialog(null, "En el momento hay "+fabrica.size()+ "\n Cajas diga el numero de una ");
- int i;
- i=Integer.parseInt(menu);
- nuevaCaja=fabrica.get(i);
- JOptionPane.showMessageDialog(null, nuevaCaja+"\n Tiene Volumen "+nuevaCaja.calcularVolumen() );
- break;
- case 3:
- try{
- menu=JOptionPane.showInputDialog("Indique el numero de la Caja que quiere modifica ingres un numero entre 1 y "+(fabrica.size()));
- int indice =Integer.parseInt(menu);
- nuevaCaja=fabrica.get(indice-1);
- n=JOptionPane.showConfirmDialog(null, "¿Desea modifica esta caja ?\n"+ nuevaCaja,"Pregunta",JOptionPane.YES_NO_OPTION);
- if (n==JOptionPane.YES_OPTION){
- menu=JOptionPane.showInputDialog("Ingrese el nuevo Alto de la Caja ");
- alto=Double.parseDouble(menu);
- menu=JOptionPane.showInputDialog("Ingrese el nuevo Ancho de la Caja ");
- ancho=Double.parseDouble(menu);
- menu=JOptionPane.showInputDialog("Ingrese la nueva profundidad de la Caja ");
- prof=Double.parseDouble(menu);
- nuevaCaja.setCaja(ancho, alto, prof);
- }
- }catch(Exception x){
- JOptionPane.showMessageDialog(null,x.getMessage());
- }
- break;
- case 4:
- menu="Los volumenes son ";
- double suma=0;
- for( i=0;i<fabrica.size();i++){
- suma=suma+fabrica.get(i).calcularVolumen();
- menu+="\n"+fabrica.get(i).calcularVolumen();
- }
- JOptionPane.showMessageDialog(null, menu+"\nEl total de Volumenes es\n"+suma);
- break;
- case 5: //Encontrar la Caja de mayor Volumen
- if (fabrica.size()>=1){
- double maxVolumen=fabrica.get(0).calcularVolumen();
- nuevaCaja=fabrica.get(0);
- for (i=1;i<fabrica.size();i++){
- if (maxVolumen<fabrica.get(i).calcularVolumen()){
- nuevaCaja=fabrica.get(i);
- maxVolumen=fabrica.get(i).calcularVolumen();
- }
- }
- JOptionPane.showMessageDialog(null, menu+"\nEl mayor Volumen es \n"+nuevaCaja);
- }else{
- JOptionPane.showMessageDialog(null, "\nNo hay Cajas ");
- }
- break;
- }
- }while(opcion!=6);
- }
- }
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package fabricadecajas;
- /**
- *
- * @author Carlos
- */
- public class Caja {
- public double ancho;
- public double alto;
- public double prof;
- public Caja( ){
- ancho=16;
- alto=15;
- prof=16;
- }
- public Caja(double ancho, double alto, double prof){
- this.ancho=ancho;
- this.alto=alto;
- this.prof=prof;
- }
- public void setAncho(double ancho){
- this.ancho=ancho;
- }
- public void setAlto(double alto){
- this.alto=alto;
- }
- public void setProfundidad(double profundidad){
- this.prof=profundidad;
- }
- public void setCaja(double ancho, double alto, double prof){
- this.alto=alto;
- this.ancho=ancho;
- this.prof=prof;
- }
- public double getAncho() {
- return ancho;
- }
- public double getAlto() {
- return alto;
- }
- public double getProf() {
- return prof;
- }
- public double calcularVolumen(){
- double volumen;
- volumen=this.alto*this.ancho*this.prof;
- return volumen;
- }
- public Caja compararCajas(Caja otraCaja){
- if (this.calcularVolumen()>otraCaja.calcularVolumen()){
- return this;
- }else{
- return otraCaja;
- }
- }
- @Override
- public String toString(){
- String texto;
- texto ="Caja con dimensiones:";
- texto+="\n Alto ="+ this.alto;
- texto+="\n Ancho="+this.ancho;
- texto+="\n Profundidad "+this.prof;
- return texto;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement