Ayuda con Programa de Billetes
alguien me podria ayudar a crear un programa que el usuario tenga qe dar cierto numero y el programa muestre cuantos billetes de diferente denominacion tiene cierta cantidad
por ejemplo
4578
4 billetes de 1000
1 billete de 500
1 billete de 50
1 billete de 20
8 billetes de 1
- Inicie sesión o regístrese para enviar comentarios
Si
Si
Danle donde dice
Search this site: Billetes y pulsa buscar. :D
Te vas a llevar una gran sorpresa D:
Ayudaa
ya lo busqe y pues el usuario tenia la mkisma duda qe io pero esqe iooo tengooo cerooo de conocimiento informatico y la vdd no le entiendooo :S si me puedes ayudar te lo agradecere bastanteee :P
@Cesarsan Intenta leyendo
@Cesarsan
Intenta leyendo esto: http://bit.ly/DelProblemaAlCodigoEn4Pasos ( te vas a tardar menos que buscando algo que hecho en internet )
Basícamente te dice como analizar un problema desde su descripción ..Hacer un programa en Java que blah blah bla.. hasta su codificación. Quizá y te sirve para este programa y los que vengan en el futuro.
Tip: ¿Como aprendiste tu mismo a calcular el cambio? ¿Que harías si tienes una caja con dinero y quieres y alguién te dice dame $4578?
Intentalo y si mañana tienes resuelto los primeros tres pasos, yo te ayudo con el 4to, hacerlo en Java.
Pero... intentalo.
P.D. También dime si lo que está escrito ahí es demasiado complejo ( quizá se podría hacer algo todavía más sencillo )
otra dudaaa
tambien quisiera saber kmo en una division qe me da mas de 4 decimaleees me de solamente dooos agradecere su apoyo ia tengo la mayoria solo me falta ese pasooo :S
Haciendo Casting
Haciendo Casting de datos primitivos por ejemplo:
public class PruebaNumberFormat {
public static void main ( String[] args ) {
double nroA = 5.6436217;
// Creamos el formato
NumberFormat nf = NumberFormat.getInstance();
// Mostramos en forma como lo muestra java
System.out.println( "Numeros como en Java:");
System.out.println( "---------------------");
System.out.println( nroA );
System.out.println();
// Para mostrar los numeros con Un decimal
nf.setMaximumFractionDigits(1);
System.out.println( "Numeros reducido a un Decimal:");
System.out.println( "---------------------------------");
System.out.println( nf.format( (float)nroA ) );
System.out.println();
}
}
Este ejemplo es de el foro de javaHispano.
@Jaime, en tu ejemplo lo que
@Jaime, en tu ejemplo lo que estás haciendo es convertir un numero en un string y espcificandole cuantas posiciones necesitas, en realidad, el número sigue teniendo los mismo decimales que antes.
@cesarsan Recuerda hacer pruebas de que esperas recibir en tu programa. Me suena raro que necesites saber los decimales. Cuando a me me dan cambio de un billete, siempre me dan billetes enteros, no pedazos de billete.
Ejemplo
$850 pueden ser 8 billetes de $100 y 1 de $50, no parece relevante si son 4 decimales o 2, lo que debería de importar es cuantos enteros me alcanzan de cada cual ( 8 y 1 en mi ejemplo )
Pero, de nuevo, solamente recuerda hacer pruebas de que esperas para ver si tu programa está funcionando correctamente.
Math.round
{
float numero = 0;
numero = num;
numero= numero*100;
numero= java.lang.Math.round(numero);
numero= numero/100;
return numero;
}
si quieres que se trunque a 1 decimal multiplicas por 10 y divides para 10
si quieres que se trunque a 2 decimales multiplicas por 100 y divides para 100
y asi según el número de decimales que necesites.
propuesta
cesarsan aca una solucion a tu problema :
int n=Integer.parseInt(jTextField1.getText());
//xm=billetes de 1000,xk=billetas de 500,xc=billetes de 50, xv=billetes de 20,xu=billetes de 1
int xm=0,xk=0,xc=0,xv=0,xu=0;
xm=n/1000;n=n%1000;
xk=n/500;n=n%500;
xc=n/50;n=n%50;
xv=n/20;n=n%20;
xu=n;
String cad=xm + "de 1000- " + xk + "de 500- " + xc + "de 50- " + xv + "de 20- " + xu+"de 1";
jTextField2.setText(cad);