Foros del Web » Programación para mayores de 30 ;) » Java »

pago de empleados

Estas en el tema de pago de empleados en el foro de Java en Foros del Web. Hola, soy yo nuevamente aquí hehe. Pues ahora al maestro se le metio una locura en la cabeza... quiere que hagamos un programa que por ...
  #1 (permalink)  
Antiguo 19/10/2006, 09:41
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
pago de empleados

Hola, soy yo nuevamente aquí hehe. Pues ahora al maestro se le metio una locura en la cabeza... quiere que hagamos un programa que por ejemplo: el nos da la cantidad de $540 dolares y nos dice que solo podemos "pagarle al empleado" con billetes de 500, 200, 50, 20,1 dolares. Yo he hecho un código muy sencillo el problema es que no sé como imprimir el resultado en el frame que yo he creado.. espero alguien me pueda decir que hacer y tmb. de paso verificar si el código esta correcto ya que tengo mis dudas.

Código PHP:
import javax.swing.*;
import java.awt.event.*;

class 
Empleados{
 
JFrame frame;
 
double residuo;
 
int resultadoFinal;

 public 
void empresa(int g){

  
int Q,p1,D,p2,C,p3,V,p4,O,p5,P,p6;
  
int w 0;
  
int x w;
  
int n;


  
frame = new JFrame("Programación Orientada a Objetos");
  
JButton button = new JButton("Click para ver resultado");
  
button.addActionListener(new Accion());
  
frame.setLocation(500,250);
  
frame.add(button);
  
frame.setSize(200200);
  
frame.setVisible(true);
  
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  
String billetes[];
  
billetes = new String[6];
  
billetes[0] = new String"500" );
  
billetes[1] = new String"200" );
  
billetes[2] = new String"50" );
  
billetes[3] = new String"20" );
  
billetes[4] = new String"5" );
  
billetes[5] = new String"1" );

  
w/500;
  
p1 w-Q*500;
  
p1/200;
  
p2 p1-D*200;
  
p2/50;
  
p3 p2-C*50;
  
p3/20;
  
p4 p3-V*20;
  
p4/5;
  
p5 p4-O*5;
  
p5/1;
  
p6 p5-P*1;

  
// AQUÍ IRIA resultadoFina; para que lo imprima en el cuadro.

}

 class 
Accion implements ActionListener{
    public 
void actionPerformed(ActionEvent e){
      
JOptionPane.showMessageDialog(frame,resultadoFinal);
    }
  }


Código PHP:
class pEmpleados{
 public static 
void main(String [] args){

  
Empleados r = new Empleados();

  
r.empresa(540); // 540 es al cantidad que quiero que me devuelva en billetes.
 
}

Saludos
__________________
Hospedaje Web al mejor costo!
  #2 (permalink)  
Antiguo 19/10/2006, 12:19
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:
Puedes hacerlo de muchas formas, dependiendo de lo elaborada que quieras la ventana.
Siguiendo con lo que parece que tienes, el JOptionPane.showMessageDialog() ya crea y muestra una ventana, por lo que no necesitas crear el JFrame y mucho menos visualizarlo.

JOptionPane.showMessageDialog(null, resultadoFinal);

El resultado puedes construirlo como un String (un StringBuffer es más eficiente, pero no creo que merezca la pena complicarse). Simplemente por algo como esto

String resultadoFinal = "El resultado es " + Q + " de 500, " + ...

Si comienzas con una cadena de texto, el resto puedes ir "sumando" para que los numeros se conviertan automaticamente en cadenas y se concatenen.

En cuanto al ActionListener puedes quitarlo, deja el codigo de construir el resultado y del JOptionPane justo después de las cuentas.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 19/10/2006 a las 12:19 Razón: añadido
  #3 (permalink)  
Antiguo 19/10/2006, 17:18
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Bueno si me funciono tu comentario, ahora alguien sabe por que no me desgloza los 540 dolares como yo quisiera?. Este programa ya me esta sacando canas :(

Saludos
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 20/10/2006, 08:40
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
hay mil y una maneras de ahcer eso.... puedes ir dividiendo, tomas el residuo y divides otra vez por el numero de billete mas chico al de la ultima divicion, puedes usar recursividad o un ciclo....

ej:

540/500 = 1.08 -> 1 billete de 500
540%500 = 40 ->te sobran 40 pesos
40/200 = 0.2 -> 0 billetes de 200
40/50 = 0.xx -> 0 billetes de 50
40/20 = 2 -> 2 billetes de 20
40%20 = 0 ->terminamos!

have funnnnnn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:42.