Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.81 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package fabricadecajas;
  7.  
  8. import java.util.ArrayList;
  9. import javax.swing.JOptionPane;
  10. import static javax.swing.JOptionPane.YES_NO_OPTION;
  11.  
  12. /**
  13. *
  14. * @author Carlos
  15. */
  16. public class FabricaDeCajas {
  17.  
  18. /**
  19. * @param args the command line arguments
  20. */
  21. public static void main(String[] args) {
  22. // TODO code application logic here
  23. ArrayList<Caja> fabrica;
  24. int n, opcion; // numero de Cajas
  25. String menu;
  26. fabrica=new ArrayList<>();
  27. Caja nuevaCaja=null;
  28.  
  29. do{
  30. 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";
  31. menu=JOptionPane.showInputDialog(menu);
  32. opcion=Integer.parseInt(menu);
  33. switch(opcion){
  34. case 1:
  35. menu=JOptionPane.showInputDialog("Ingrese el Alto de la Caja ");
  36. double alto=Double.parseDouble(menu);
  37. menu=JOptionPane.showInputDialog("Ingrese el Ancho de la Caja ");
  38. double ancho=Double.parseDouble(menu);
  39. menu=JOptionPane.showInputDialog("Ingrese la profundidad de la Caja ");
  40. double prof=Double.parseDouble(menu);
  41. nuevaCaja=new Caja(alto,ancho,prof);
  42. fabrica.add(nuevaCaja);
  43. break;
  44. case 2:
  45. menu=JOptionPane.showInputDialog(null, "En el momento hay "+fabrica.size()+ "\n Cajas diga el numero de una ");
  46. int i;
  47. i=Integer.parseInt(menu);
  48. nuevaCaja=fabrica.get(i);
  49. JOptionPane.showMessageDialog(null, nuevaCaja+"\n Tiene Volumen "+nuevaCaja.calcularVolumen() );
  50.  
  51. break;
  52.  
  53. case 3:
  54. try{
  55. menu=JOptionPane.showInputDialog("Indique el numero de la Caja que quiere modifica ingres un numero entre 1 y "+(fabrica.size()));
  56. int indice =Integer.parseInt(menu);
  57. nuevaCaja=fabrica.get(indice-1);
  58. n=JOptionPane.showConfirmDialog(null, "¿Desea modifica esta caja ?\n"+ nuevaCaja,"Pregunta",JOptionPane.YES_NO_OPTION);
  59. if (n==JOptionPane.YES_OPTION){
  60. menu=JOptionPane.showInputDialog("Ingrese el nuevo Alto de la Caja ");
  61. alto=Double.parseDouble(menu);
  62. menu=JOptionPane.showInputDialog("Ingrese el nuevo Ancho de la Caja ");
  63. ancho=Double.parseDouble(menu);
  64. menu=JOptionPane.showInputDialog("Ingrese la nueva profundidad de la Caja ");
  65. prof=Double.parseDouble(menu);
  66. nuevaCaja.setCaja(ancho, alto, prof);
  67. }
  68.  
  69. }catch(Exception x){
  70. JOptionPane.showMessageDialog(null,x.getMessage());
  71. }
  72. break;
  73. case 4:
  74. menu="Los volumenes son ";
  75. double suma=0;
  76. for( i=0;i<fabrica.size();i++){
  77. suma=suma+fabrica.get(i).calcularVolumen();
  78. menu+="\n"+fabrica.get(i).calcularVolumen();
  79. }
  80. JOptionPane.showMessageDialog(null, menu+"\nEl total de Volumenes es\n"+suma);
  81. break;
  82. case 5: //Encontrar la Caja de mayor Volumen
  83. if (fabrica.size()>=1){
  84. double maxVolumen=fabrica.get(0).calcularVolumen();
  85. nuevaCaja=fabrica.get(0);
  86. for (i=1;i<fabrica.size();i++){
  87. if (maxVolumen<fabrica.get(i).calcularVolumen()){
  88. nuevaCaja=fabrica.get(i);
  89. maxVolumen=fabrica.get(i).calcularVolumen();
  90. }
  91. }
  92. JOptionPane.showMessageDialog(null, menu+"\nEl mayor Volumen es \n"+nuevaCaja);
  93. }else{
  94. JOptionPane.showMessageDialog(null, "\nNo hay Cajas ");
  95. }
  96. break;
  97. }
  98.  
  99. }while(opcion!=6);
  100.  
  101.  
  102.  
  103. }
  104.  
  105. }
  106.  
  107.  
  108.  
  109.  
  110.  
  111. /*
  112. * To change this license header, choose License Headers in Project Properties.
  113. * To change this template file, choose Tools | Templates
  114. * and open the template in the editor.
  115. */
  116. package fabricadecajas;
  117.  
  118. /**
  119. *
  120. * @author Carlos
  121. */
  122. public class Caja {
  123. public double ancho;
  124. public double alto;
  125. public double prof;
  126.  
  127. public Caja( ){
  128. ancho=16;
  129. alto=15;
  130. prof=16;
  131. }
  132.  
  133. public Caja(double ancho, double alto, double prof){
  134.  
  135. this.ancho=ancho;
  136. this.alto=alto;
  137. this.prof=prof;
  138. }
  139.  
  140. public void setAncho(double ancho){
  141. this.ancho=ancho;
  142. }
  143. public void setAlto(double alto){
  144. this.alto=alto;
  145. }
  146. public void setProfundidad(double profundidad){
  147. this.prof=profundidad;
  148. }
  149. public void setCaja(double ancho, double alto, double prof){
  150. this.alto=alto;
  151. this.ancho=ancho;
  152. this.prof=prof;
  153. }
  154.  
  155. public double getAncho() {
  156. return ancho;
  157. }
  158.  
  159. public double getAlto() {
  160. return alto;
  161. }
  162.  
  163. public double getProf() {
  164. return prof;
  165. }
  166. public double calcularVolumen(){
  167. double volumen;
  168.  
  169. volumen=this.alto*this.ancho*this.prof;
  170. return volumen;
  171. }
  172.  
  173. public Caja compararCajas(Caja otraCaja){
  174. if (this.calcularVolumen()>otraCaja.calcularVolumen()){
  175. return this;
  176. }else{
  177. return otraCaja;
  178. }
  179. }
  180.  
  181. @Override
  182. public String toString(){
  183. String texto;
  184.  
  185. texto ="Caja con dimensiones:";
  186. texto+="\n Alto ="+ this.alto;
  187. texto+="\n Ancho="+this.ancho;
  188. texto+="\n Profundidad "+this.prof;
  189. return texto;
  190. }
  191.  
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement