Preciso de ajuda!

3 respostas
rafapilao

[b]Sou Rafael iniciante na linguagem Java e já agardeço a ajuda! Eu tenho um aplicativo pra fazer um hotel, onde tenho uma classe Gastos, que calcula todos os gastos dos clientes, a classe é composta de vários métodos eles são:
-processaFrigobar ( onde calcula todos os gastos no quarto do cliente relacionados ao frigobar );
-processaRestaurante ( onde calculo os almoço a peso e o consumo de bebiba );
-processaLavanderia ( que calcula caso o cliente usa a lavanderia do hotel, é calculado por peso );
-processaDiaria ( calcula a diária do cliente com base no quarto ocupado );
-processaTelefonema ( calcula os telefonemas dados );
-processaDesconto ( caso seja dado um desconto, sendo válido só para valor à vista );
-processaTipoPagamento ( ali está os tipos de pagamento );

O que eu desejo saber é como faço para pegar as somas de cada um dos métodos para obter um valor total no método processaTipoPagamento.

Esse é o código ainda quero melhorar ele. Vejam o que podem me ajudar!

[code]
[color=green] /*classe exclusiva para calcular gastos do cliente
* haverá mudanças.
*/ [/color]
import java.awt.HeadlessException;
import javax.swing.*;
import java.lang.System;

public class Gastos{

public void calculaGastos(){

int opcao = -1;

while(opcao >=-1){

[color=green]/* abaixo estão as opções de escolha para o frigobar
*
*/ [/color]

String resultado = JOptionPane.showInputDialog (null, " Qual a opção\n" +
" 1-Frigobar\n " +
" 2-Restaurante\n " +
" 3-Lavanderia\n " +
" 4-Diária\n " +
" 5-Telefonema\n " +
" 6-Desconto\n " +
" 7-Tipo de pagamento " +
" -1-Para sair\n " );

opcao = Integer.parseInt(resultado);

switch(opcao){
[color=green]/*após cada case, temos métodos para o calculo de cada opção
*
*/[/color]

case 1:processaFrigobar();
break;

case 2:processaRestaurante();
break;

case 3:processaLavanderia();
break;

case 4:processaDiaria();
break;

case 5:processaTelefonema();
break;

case 6:processaDesconto();
break;

case 7:processaTipoPagamento();
break;

default:System.out.println("itens selecionados");
break;
}

}
}

public void processaFrigobar(){
[color=green]/*método calcula itens do frigobar
*/[/color]

opcoesBebida();

}

public void processaRestaurante(){
[color=green]/* método que calcula o consumo no restaurante.
*
*/[/color]

calculaRefeicoes();
[color=green]/*método calcula itens do restaurante durante almoço e janta.
*/[/color]

opcoesBebida();

}

public void processaLavanderia(){
calculaLavagem();
}

public void processaDiaria(){
calculaDiaria();
}

public void processaTelefonema(){
calculaTelefonema();
}

private void calculaRefeicoes() throws HeadlessException, NumberFormatException {
double peso = 0.0;
double preco = 20.0;
int tipocomida = -1;
double refeicao = 0.0;
double total_refeicao = 0.0;
int i = 1;

try {
while(tipocomida != 0){
[color=green]/*opções de escolha, que irá inserir uma refeição do cliente e só irá
* parar de inserir quando seleconado o número zero, mostrando o consumo
* total do restaurante.
*/[/color]

String escolha = JOptionPane.showInputDialog(null, " 1-Inserir refeiçao\n " +
" 0-Sair ");

tipocomida = Integer.parseInt(escolha);

switch(tipocomida){

case 1:
String pesando = JOptionPane.showInputDialog(null, " Qual foi o peso da refeição? ");
peso = Double.parseDouble(pesando);
refeicao = preco * peso;
total_refeicao += refeicao;
System.out.println(+i+"ª refeição custou " + refeicao + " reais. ");
break;
case 0:
System.out.println(" O preço total das refeições foram de " + total_refeicao + " reais. ");
break;
}
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.println(" Erro!" + e);
}
}

private void opcoesBebida() throws HeadlessException, NumberFormatException {
int item = -1;
double agua = 2.00;
double agua_gasosa = 3.00;
double suco = 2.50;
double refrigerante = 3.00;
double cerveja = 3.50;
double isotonico = 4.00;
int quantidade1 = 0;
double quantidade2 = 0.0;
double quantidade3 = 0.0;
double quantidade4 = 0.0;
double quantidade5 = 0.0;
double quantidade6 = 0.0;
double total = 0.0;
double soma = 0.0;

[color=green]/* menu de opções cada o cálculo.
*
*/[/color]

try {
while(item != 0){
String itens = JOptionPane.showInputDialog(null, " O que o cliente bebeu?\n " +
" 1-Água\n " + " 2-Água com gás\n " + " 3-Suco\n " +
" 4-Refrigerante\n " + " 5-Cerveja\n " +
" 6-Isotônico\n " + " 0-Para sair. ");

item = Integer.parseInt(itens);

switch(item){

case 1:
String numero1 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade1 = Integer.parseInt(numero1);
agua = quantidade1 * 2.00;
System.out.println(" O cliente consumiu " + quantidade1 + " água(s) ");
soma += agua;
break;

case 2:
String numero2 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade2 = Integer.parseInt(numero2);
agua_gasosa *= quantidade2;
System.out.println(" O cliente consumiu " + quantidade2 + " água(s) com gás e pagará " + agua_gasosa + " reais. ");
soma += agua_gasosa;
break;

case 3:
String numero3 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade3 = Integer.parseInt(numero3);
suco *= quantidade3;
System.out.println(" O cliente consuniu " + quantidade3 + " suco(s) e pagará " + suco + " reais. ");
soma += suco;
break;

case 4:
String numero4 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade4 = Integer.parseInt(numero4);
refrigerante *= quantidade4;
System.out.println(" O cliente consuniu " + quantidade4 + " refrigerante(s) e pagará " + refrigerante + " reais. ");
soma += refrigerante;
break;

case 5:
String numero5 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade5 = Integer.parseInt(numero5);
cerveja *= quantidade5;
System.out.println(" O cliente consumiu " + quantidade5 + " cerveja(s) e pagará " + cerveja + " reais. ");
soma += cerveja;
break;

case 6:
String numero6 = JOptionPane.showInputDialog(null, " Qual a quantidade consumida? ");
quantidade6 = Integer.parseInt(numero6);
isotonico *= quantidade6;
System.out.println(" O cliente consumiu " + quantidade6 + " isotônico(s) e pagará " + isotonico + " reais. ");
soma += isotonico;
break;

default:{}
total = soma;
System.out.println(" O valor total de consumido foi de " + total + " reais. ");

}
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.println(" Erro! " + e);
}

}

private void calculaLavagem() throws HeadlessException, NumberFormatException {
double peso = 0.0;
double preco = 10.0;
int tipolavagem = -1;
double lavagem = 0.0;
double total_lavagem = 0.0;
int i = 1;

try {
while(tipolavagem != 0){
[color=green]/*opções de escolha, que irá inserir uma quantidade de roupas do cliente
* e só irá qunado número zero for acionado, mostrando o consumo
* total na lavanderia.
*/[/color]

String escolha = JOptionPane.showInputDialog(null, " 1-Inserir lavagem\n " +
" 0-Sair ");

tipolavagem = Integer.parseInt(escolha);

switch(tipolavagem){

case 1:
String pesando = JOptionPane.showInputDialog(null, " Qual foi o peso? ");
peso = Double.parseDouble(pesando);
lavagem = preco * peso;
total_lavagem += lavagem;
System.out.println(+i+"ª lavagem custou " + lavagem + " reais. ");
break;
case 0:
System.out.println(" O preço total gasto na lavanderia foi de " + total_lavagem + " reais. ");
break;
}
}
} catch (RuntimeException e) {
// TODO Auto-generated catch block
System.out.println(" Erro! " + e);
}
}

private void calculaDiaria() throws HeadlessException, NumberFormatException {
[color=green]/*esse método clacula a diária de acodo com a situação de quarto ocupado
* e só calculará
*/[/color]

int diaria = 10;
boolean ocupado = false;
int numero_quarto = 0;

String situacao = JOptionPane.showInputDialog(null, " Qual a situação do quarto? ");
ocupado = Boolean.parseBoolean(situacao);

if(ocupado == true){
String quarto = JOptionPane.showInputDialog(null, " Qual o número do quarto do cliente? ");
diaria +=10;
numero_quarto = Integer.parseInt(quarto);
System.out.println(" A diária do quarto " + numero_quarto + " é de " + diaria + " reais ");
}
}

private void calculaTelefonema() throws HeadlessException, NumberFormatException {
[color=green]/*esse método calcula usando o quarto do cliente, como referência pra gastos
*com telefone, sendo local ou interubano.
*/[/color]

int numero_quarto;
double telefonema = 0.0;
int minutos = 0;

String tipo_ligacao = JOptionPane.showInputDialog(null, " Qual o tipo da ligação? ");

if(tipo_ligacao == "local" || tipo_ligacao == "Local"){
String quarto = JOptionPane.showInputDialog(null, " Qual o número do quarto do cliente? ");
numero_quarto = Integer.parseInt(quarto);
String tempo = JOptionPane.showInputDialog(null, " Qual o tempo de uso do telefone? ");
minutos = Integer.parseInt(tempo);
telefonema = minutos * 0.50;
System.out.println(" O custo de uso do telefone foi de " + telefonema);
}
else{
String quarto = JOptionPane.showInputDialog(null, " Qual o número do quarto do cliente? ");
numero_quarto = Integer.parseInt(quarto);
String tempo = JOptionPane.showInputDialog(null, " Qual o tempo de uso do telefone? ");
minutos = Integer.parseInt(tempo);
telefonema = minutos * 1.50;
System.out.println(" O custo de uso do telefone foi de " + telefonema);
}
}

public void processaDesconto(){
[color=green]/*poe o metodo pra calcular os gastos todo e diminui de desconto, lembrar
* de inicializar desconto como 0.
*/[/color]

double desconto = 0.05;

}

public void processaTipoPagamento(){
double dinheiro;
double cheque;
double cartao;
double parcelado;
double conta;

[color=green]/*nesse método que eu desejo pegar o total da conta do cliente e insirir na variável conta, para assim poder calcular de acordo com o pagamento!*/[/color]

}

}

3 Respostas

alanbrasil1984

po mano coloca em code…

lina

Oi,

então…
Existem algumas formas de resolver isso,
uma delas é fazer seus métodos retornarem algum valor (double, int).

Outra é criar variaveis globais e não locais, assim você pode ter a instancia delas em
qualquer parte do seu código… e por ai vai

Tchauzin.

Luiz_Aguiar

Bem vindo ao GUJ!

Leituras obrigatórias:
Regras do forum
Como postar

Obrigado!

Criado 2 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 3
Participantes 4