Gostaria de saber se o uso dos ifs da forma que eu fiz abaixo é valido, ou é uma má programação. A ideia é calcular a quantidade de moedas de um troco
public String troco (double dif){
this.dif = Double.parseDouble(util.formatar_numero(dif));
parte_inteira=(int)this.dif;
parte_frac = this.dif - parte_inteira;
parte_frac = Double.parseDouble(util.formatar_numero(parte_frac));
quant_cent_001=0;
quant_cent_005=0;
quant_cent_010=0;
quant_cent_025=0;
if (parte_frac>=0.25){
if (parte_inteira>=1){
quant_cent_025 = (int) (parte_inteira/ 0.25);
}
else{
quant_cent_025=(int) (parte_frac/0.25);
parte_frac=Double.parseDouble(util.formatar_numero(parte_frac- (quant_cent_025*0.25)));
}
}
if (parte_frac>=0.10){
quant_cent_010 = (int)Double.parseDouble(util.formatar_numero(parte_frac/ 0.10));
parte_frac=Double.parseDouble(util.formatar_numero(parte_frac- (quant_cent_010*0.10)));
}
if (parte_frac>=0.05){
quant_cent_005 =(int)Double.parseDouble(util.formatar_numero(parte_frac / 0.05));
parte_frac=Double.parseDouble(util.formatar_numero(parte_frac- (quant_cent_005*0.05)));
}
if (parte_frac>=0.01){
quant_cent_001 =(int)Double.parseDouble(util.formatar_numero((parte_frac / 0.01)));
parte_frac=Double.parseDouble(util.formatar_numero(parte_frac- (quant_cent_001*0.01)));
}
if (this.dif>=0)
return "Troco R$: "+util.formatar_numero(dif)+"\n\n"+
"Moedas R$ 0,25: "+quant_cent_025+"\n"+"Moedas R$ 0,10: "+(int)quant_cent_010+"\n"+
"Moedas R$ 0,05: "+(int)quant_cent_005+"\n"+"Moedas R$ 0,01: "+(int)quant_cent_001+"\n";
else return "Valor insuficiente para pagamento !!";
}