Bom gente…
dou novo aqui e esse é meu primeiro post…
Como eu não estou conseguindo achar o erro vou postar o código todo pra ver se alguem poderia me ajudar…
Bom…eu tenho que fazer um trabalho pra faculdade que lê os dados de uma unidade de consumo de energia elétrica e retorna a tarifa do usuário…
bem simples mesmo…
O problema que eu estou tendo é que na hora que eu chamo “uc.leituraValida()” não muda nada do que o programa já fazia antes de implementação dessa função…
Tipo mesmo se eu digitar algum numero maior que 9999 ele não mostra o erro e se eu digitar menor ele sai do programa mais ainda assim realiza o calculo antes…
Se alguem puder ajudar…
Vlw!!!
import java.util.Scanner;
public class UnidadeConsumidora {
int rodaRelogio(int atual, int anterior){
int total;
total = (9999 - anterior) + atual;
return total;
}
int leitura(int atual, int anterior){
int total;
total = atual - anterior;
return total;
}
boolean leituraValida(int leitura){
boolean resp = false;
if((leitura >= 0000)||(leitura <= 9999)){
resp = true;
}
return resp;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
UnidadeConsumidora uc = new UnidadeConsumidora();
double total;
int sai = 1;
int leituraAtual = 0, leituraAnterior = 0;
int ucCodigo = 0;
String ucNomeProprietario = null, ucEndereco = null;
boolean resp = false;
boolean primeiraLeitura = false;
do{
System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println("---------- LEITURA DO CONSUMO DE ENERGIA----------");
System.out.println("1. INSERIR DADOS DA UNIDADE");
System.out.println("2. INSERIR LEITURA");
System.out.println("3. SAIR");
String input = in.next();
int x = Integer.parseInt(input);
System.out.println();
switch (x){
case 1:{
System.out.print("Digite o codigo da unidade consumidora: ");
String codigo = in.next();
ucCodigo = Integer.parseInt(codigo);
System.out.println();
System.out.print("Digite o nome do proprietario da unidade consumidora: ");
ucNomeProprietario = in.next();
System.out.println();
System.out.print("Digite o endereco da unidade consumidora: ");
ucEndereco = in.next();
System.out.println();
resp = true;
primeiraLeitura = true;
}
case 2:{
if(resp == false){
System.out.println("Necessario inserir dados da unidade primeiro");
break;
}
else{
System.out.println("Unidade: "+ucCodigo);
System.out.println("Proprietario: "+ucNomeProprietario);
System.out.println("Endereco: "+ucEndereco);
System.out.println("Tarifa(KW/h): R$0,34");
if(primeiraLeitura == true){
System.out.print("Digite a primeira leitura: ");
String leitura = in.next();
leituraAnterior = Integer.parseInt(leitura);
if(uc.leituraValida(leituraAnterior)){
primeiraLeitura = false;
}
else
System.out.println("Leitura fora do padrão(0000 - 9999)");
}
if(resp == true){
do{
System.out.print("Digite a leitura: ");
String leitura = in.next();
leituraAtual = Integer.parseInt(leitura);
if(uc.leituraValida(leituraAtual)){
if(leituraAtual < leituraAnterior){
System.out.println("Leitura Anterior: "+leituraAnterior);
System.out.println("Leitura Atual: "+leituraAtual);
System.out.println("Consumo : "+uc.rodaRelogio(leituraAtual, leituraAnterior));
total = (uc.rodaRelogio(leituraAtual, leituraAnterior) * 0.34);
System.out.println("Valor da Tarifa: R$"+total);
System.out.println();
leituraAnterior = leituraAtual;
}
else{
System.out.println("Leitura Anterior: "+leituraAnterior);
System.out.println("Leitura Atual: "+leituraAtual);
System.out.println("Consumo : "+uc.leitura(leituraAtual, leituraAnterior));
total = (uc.leitura(leituraAtual, leituraAnterior) * 0.34);
System.out.println("Valor da Tarifa: R$"+total);
System.out.println();
leituraAnterior = leituraAtual;
}
}
else
System.out.println("Leitura fora do padrão(0000 - 9999)");
}while(leituraAtual >= 0);
}
}
}
case 3:{
System.out.println("Obrigado por utilizar o programa");
System.out.println("Desenvolvido por:");
System.out.println("Bruno Lopes Salustiano - RA 1001792170");
System.out.println("Douglas Olimpio COsta - RA 1061128681");
System.out.println("Eirik Zadra Pinto - RA 1094141901");
System.out.println();
sai = 0;
break;
}
}
}while (sai != 0);
}
}