Classe Calcula Produto
import javax.swing.JOptionPane;
public class CalculaProduto extends Produto { //classe filha
public double class CalculaProduto(int opcao) { //metodo calcula produto
if (opcao == 1) { // escolher primeira opção
System.out.println("Torneira");
Minutos();
torneira = 16 * minutos; // calculando litros
JOptionPane.showMessageDialog(null,
"Com" + minutos + "minutos voce acaba gastando cerca de" + torneira + "litros de água por dia",
"Torneira",
JOptionPane.INFORMATION_MESSAGE);
calLitros(torneira);
} else if (opcao == 2) { // escolher segunda opção
System.out.println("Chuveiro");
Minutos();
chuveiro = 9 * minutos; // calculando litros
JOptionPane.showMessageDialog(null,
"Com" + minutos + "minutos voce acaba gastando cerca de" + chuveiro + "litros de água por dia",
"chuveiro",
JOptionPane.INFORMATION_MESSAGE);
calLitros(chuveiro);
} else if (opcao == 3) { // escolher terceira opção
System.out.println("Descarga");
Descarga();
litros = 6 * minutos; // calculando litros
JOptionPane.showMessageDialog(null,
"Com" + descarga + " voce acaba gastando cerca de" + litros + "litros por dia",
"Descarga",
JOptionPane.INFORMATION_MESSAGE);
calLitros(litros);
} else // caso a opção escolhida não seja válida
JOptionPane.showMessageDialog(null,
"Opção invalida.",
"Opção inválida",
JOptionPane.INFORMATION_MESSAGE);
return opcao;
}
}
Classe Produto
import javax.swing.JOptionPane;
public class Produto {
double torneira,chuveiro,minutos,litros;
int descarga;
int a =0;
String minutostring="";
public double Minutos() {//calculando minutos gastos
excecao ex= new excecao();//instancia
double minutos=0;
JOptionPane.showMessageDialog(null,"Digite a quantidade de minutos que você utiliza diariamente este produto","Minutos",
JOptionPane.INFORMATION_MESSAGE);
while(a==0) {
minutostring=JOptionPane.showInputDialog("Minutos:");
a=ex.tratarmin(minutostring);
}
minutos = Double.parseDouble(minutostring);
this.minutos=minutos;
return minutos;
}
public int Descarga() {//método que administra o calculo da descarga
int descarga=0;
JOptionPane.showMessageDialog(null,"Digite a quantidade de vezes que é acionado por dia","Descarga",
JOptionPane.INFORMATION_MESSAGE);
descarga=Integer.parseInt(JOptionPane.showInputDialog("Descarga"));
this.descarga=descarga;
return descarga;
}
public double calLitros (double litros) {//método que calcula a quantidade de litros gastos em conta
double valor=0;
valor=(30*(litros/1000))*2.99;
}
}
Classe excecao
import javax.swing.JOptionPane;
public class excecao {
public int tratar(String opt) {//metodos para exeção opção
int b= 0;
int teste;
try {
teste=Integer.parseInt(opt); //tentando converter
b=1;
}
catch (NumberFormatException n) {//caso a conversão não seja possivel
JOptionPane.showMessageDialog(null, "Erro no programa,tente denovo.",
"Erro no programa",JOptionPane.WARNING_MESSAGE);
System.out.println("");
}
return b;
}
public int tratarmin(String min) {//método para exceção minutos
int b=0;
double teste;
try {
teste=Double.parseDouble(min); //tentando converter
b=1;
}
catch (NumberFormatException n) {//caso a conversão não seja possivel
JOptionPane.showMessageDialog(null, "Erro no programa,tente denovo.",
"Erro no programa",JOptionPane.WARNING_MESSAGE);
}
return b;
}
}
classe Teste
import javax.swing.JOptionPane;
public class Teste {
public static void main(String[] args) {
String opcao="";
int opt,a=0;
excecao ex = new excecao();
CalculaProduto prod = new CalculaProduto();//instanciando classe
while(a==0) {//tratamento da opção
opcao=JOptionPane.showInputDialog(null,"Olá,seja bem vindo!"+
" Escolha o produto que deseja analizar" +
"\n 1 torneira"+
"\n 2 chuveiro"+
"\n 3 descarga \n"+
"Escolha a Opção:","Analisar gastos de agua",JOptionPane.INFORMATION_MESSAGE);
a=ex.tratar(opcao);
}
opt=Integer.parseInt(opcao);
prod.CalculaProduto(opt);
JOptionPane.showMessageDialog(null,"Economize agua para o bem do nosso planeta."+
"\n Economize no banho,"+
"\n ai escovar os dentes"+
"\n no momento de lavar os pratos"+
"\n e quando for dar descarga."
,"Mensagem ao Usuário",
JOptionPane.INFORMATION_MESSAGE);
}
}