Ola,
Alguem poderia me dizer por que o calculo esta estranho nesse codigo?
public class Trabtres {
public static void main(String args[]) {
double terreno,valorterreno, iptu, totaldesconto,valoriptu;
char esquina, comercial, limpo;
System.out.println("Informe o tamanho do terreno");
terreno = Keyboard.readDouble();
System.out.println("Seu terreno é de esquina? Se sim coloque S, se não coloque N");
esquina = Keyboard.readChar();
System.out.println("Seu terreno é em local comercial? Se sim coloque S, se não coloque N");
comercial = Keyboard.readChar();
System.out.println("Seu terreno está limpo? Se sim coloque S, se não coloque N");
limpo = Keyboard.readChar();
valoriptu = 1.10;
if (esquina=='s'){
valoriptu = valoriptu+0.20;
if (comercial=='s'){
valoriptu = valoriptu+0.10;
System.out.println(valoriptu);
if (limpo=='s'){
valorterreno = terreno*valoriptu;
totaldesconto = (valorterreno*25)/100;
iptu = valorterreno-totaldesconto;
System.out.println("Seu IPTU é: "+iptu);
}
else {
valorterreno = terreno*valoriptu;
System.out.println("Seu IPTU é: "+valorterreno);
}
}
else {
if (limpo=='s'){
valorterreno = terreno*valoriptu;
totaldesconto = (valorterreno*25)/100;
iptu = valorterreno-totaldesconto;
System.out.println("Seu IPTU é: "+iptu);
}
else {
valorterreno = terreno*valoriptu;
System.out.println("Seu IPTU é: "+valorterreno);
}
}
}
else {
if (comercial=='s'){
valoriptu = valoriptu+0.10;
System.out.println(valoriptu);
if (limpo=='s'){
valorterreno = terreno*valoriptu;
totaldesconto = (valorterreno*25)/100;
iptu = valorterreno-totaldesconto;
System.out.println("Seu IPTU é: "+iptu);
}
else {
valorterreno = terreno*valoriptu;
System.out.println("Seu IPTU é: "+valorterreno);
}
}
else {
if (limpo=='s'){
valorterreno = terreno*valoriptu;
totaldesconto = (valorterreno*25)/100;
iptu = valorterreno-totaldesconto;
System.out.println("Seu IPTU é: "+iptu);
}
else {
valorterreno = terreno*valoriptu;
System.out.println("Seu IPTU é: "+valorterreno);
}
}
}
}
}
eu to usando o JCreator, uso ele porque é o que está usando na faculdade.
o que acontece nesse codigo é que quando eu calculo a variavel: valoriptu = valoriptu + 0.10;
ele coloca um monte de dero e um 1 no final.
exemplo de resultado
Informe o tamanho do terreno
20
Seu terreno é de esquina? Se sim coloque S, se não coloque N
s
Seu terreno é em local comercial? Se sim coloque S, se não coloque N
s
Seu terreno está limpo? Se sim coloque S, se não coloque N
n
1.4000000000000001
Seu IPTU é: 28.000000000000004
Process completed.
mas c eu trocar esse valor para 0.20 ele calcula normal.
alguem sabe me dizer o que pode ser?
valeu!