pabloar93

ejercicio 43

Jul 5th, 2013
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. package envio08;
  2.  
  3. import javax.swing.JApplet;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7. public class Ejercicio54 extends JApplet implements ActionListener {
  8.     Label lblTitulo, lblHoraEnt, lblMinEnt, lblHoraSal, lblMinSal;
  9.     TextField txtHoraEnt, txtMinEnt, txtHoraSal, txtMinSal, txtEstadia, txtPrecio;
  10.     Choice cmbCategoria;
  11.     Button btnCalcular;
  12.    
  13.     public void init() {
  14.         Container cont = getContentPane();
  15.         cont.setLayout(new FlowLayout());
  16.         //Declaracion del combo y sus opciones
  17.         cmbCategoria = new Choice();
  18.         cmbCategoria.add("Auto chico");
  19.         cmbCategoria.add("Auto mediano");
  20.         cmbCategoria.add("Camioneta");
  21.         //Declaracion de labels
  22.         lblTitulo = new Label("Estacionamiento Chantapufi");
  23.         lblHoraEnt = new Label("Hora entrada: ");
  24.         lblHoraSal = new Label("Hora salida: ");
  25.         lblMinEnt = new Label("Minuto entrada: ");
  26.         lblMinSal = new Label("Minuto salida: ");
  27.         //Declaracion de textfields
  28.         txtHoraEnt = new TextField(2);
  29.         txtHoraSal = new TextField(2);
  30.         txtMinEnt = new TextField(2);
  31.         txtMinSal = new TextField(2);
  32.         txtEstadia = new TextField(10);
  33.         txtEstadia.setEditable(false);
  34.         txtPrecio = new TextField(10);
  35.         txtPrecio.setEditable(false);
  36.         //Insercion al contenedor del applet
  37.         cont.add(lblTitulo);
  38.         cont.add(lblHoraEnt);
  39.         cont.add(txtHoraEnt);
  40.         cont.add(lblMinEnt);
  41.         cont.add(txtMinEnt);
  42.         cont.add(lblHoraSal);
  43.         cont.add(txtHoraSal);
  44.         cont.add(lblMinSal);
  45.         cont.add(txtMinSal);
  46.         cont.add(cmbCategoria);
  47.         cont.add(txtEstadia);
  48.         cont.add(txtPrecio);
  49.        
  50.        
  51.         //Declaracion del boton y insercion al applet
  52.         btnCalcular = new Button("Calcular");
  53.         cont.add(btnCalcular);
  54.         btnCalcular.addActionListener(this);
  55.     }
  56.    
  57.     public static int getNroCategoria(String cat) {
  58.         if (cat=="Auto chico")
  59.             return 1;
  60.         else {
  61.             if (cat=="Auto mediano")
  62.                 return 2;
  63.             else
  64.                 if(cat=="Camioneta")
  65.                     return 3;
  66.         }
  67.         return 0;
  68.     }
  69.    
  70.     public static float calcularPrecio(int cat, int horas, int minutos) {
  71.         float cpmh=0,cmin=0, precio;
  72.         switch(cat) {
  73.             case 1: cpmh = 1;
  74.                     cmin = (float) 0.35;
  75.                     break;
  76.             case 2: cpmh = (float) 1.5;
  77.                     cmin = (float) 0.45;
  78.                     break;
  79.             case 3: cpmh = 2;
  80.                     cmin = (float) 0.55;
  81.                     break;
  82.         }
  83.         precio=cpmh;
  84.         int cant_mins = minutos + (horas*60);
  85.         if (cant_mins>30) {
  86.             cant_mins -=30;
  87.             int cuartos = (cant_mins)/4;
  88.             precio = precio + (cuartos*cmin);
  89.         }
  90.         return precio;
  91.     }
  92.    
  93.     public void actionPerformed(ActionEvent ev) {
  94.         if (Integer.parseInt(txtHoraEnt.getText())<7) {
  95.             txtEstadia.setText("No abierto");
  96.             return;
  97.         }
  98.         int hora_est = Integer.parseInt(txtHoraSal.getText())-Integer.parseInt(txtHoraEnt.getText());
  99.         int min_est = Integer.parseInt(txtMinSal.getText())-Integer.parseInt(txtMinEnt.getText());
  100.         if (min_est<0) {
  101.             hora_est--;
  102.             min_est=min_est+60;
  103.         }
  104.         txtEstadia.setText(hora_est+"hs"+min_est+"mn");
  105.         int cat = getNroCategoria(cmbCategoria.getSelectedItem());
  106.         float precio = calcularPrecio(cat,hora_est,min_est);
  107.         txtPrecio.setText(precio+" $");
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment