E ae, estou com dois códigos que, no final da execução, são iguais. Qual deles é “melhor” e por quê? Com relação a boa prática de desenvolvimento, funcionamento, eficiência… Desde já agradeço, vlw.
package javaapplication;
import java.util.Scanner;
/**
*
* @author Thomas Santos
*/
public class MoedasDeTroco {
static int cinquenta, vinteECinco, dez, cinco, um;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Insira o troco (centavos de 0-99): ");
int troco = input.nextInt();
while(troco != 0) {
troco = separaMoedas(troco);
}
System.out.printf("Moedas para troco:\nDe 50c %d\nDe 25c %d\nDe 10c %d\nDe 5c %d\nDe
1c %d\n", cinquenta, vinteECinco, dez, cinco, um);
}
static int separaMoedas(int troco){
if(troco > 49) {
cinquenta += 1;
return troco - 50;
}else if(troco > 24){
vinteECinco += 1;
return troco - 25;
}else if(troco > 9){
dez += 1;
return troco - 10;
}else if(troco > 4) {
cinco += 1;
return troco - 5;
}else {
um += 1;
return troco - 1;
}
}
}
package javaapplication;
import java.util.Scanner;
/**
*
* @author Thomas Santos
*/
public class Troco {
static int cinquenta, vinteECinco, dez, cinco, um;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Insira o valor do troco: ");
int troco = input.nextInt();
while(troco != 0) {
cinquenta = troco / 50;
troco %= 50;
vinteECinco = troco / 25;
troco %= 25;
dez = troco / 10;
troco %= 10;
cinco = troco / 5;
troco %= 5;
um = troco / 1;
troco %= 1;
}
System.out.printf("50 = %d\n25 = %d\n10 = %d\n 5 = %d\n 1 = %d\n", cinquenta, vinteECinco, dez, cinco, um);
}
}