Geração TEC - Lages - Maio/2013
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Exemplo de tratamento de exceções

Ir para baixo

Exemplo de tratamento de exceções Empty Exemplo de tratamento de exceções

Mensagem por Admin Ter maio 21, 2013 7:54 pm


TesteUmaMaquina
Código:

import java.util.Scanner;

public class TesteUmaMaquina {

   public static Scanner scanner = new Scanner(System.in);

   public static void main(String[] args) {
      MaquinaDeRefri maquina = new MaquinaDeRefri();
      
      System.out.println("Digite a qtde de refris a abastecer");
      int qtd = scanner.nextInt();
      
      try {
         maquina.abastecerRefrigerantes(qtd);
         maquina.ligar();
         maquina.fornecerRefrigerante(2.00);
         maquina.desligar();
      } catch (ValorNegativoNaoPermitidoException vnnpe) {
         //trata excecao do tipo ValorNegativoNaoPermitidoException
         System.out.println("Valor negativbo");
         vnnpe.printStackTrace();
      } catch (Exception e) {
         //trata qualquer outro tipo de excecao
         e.printStackTrace();
      }
      System.out.println("Finalizando a aplicação...");
   }
}

MaquinaRefri
Código:

public class MaquinaDeRefri {
   private boolean ligada;
   private int estoqueDeRefrigerante;
   private double quantidadeDeDinheiro;


   public MaquinaDeRefri() {
      ligada = false;
      estoqueDeRefrigerante = 0;
      quantidadeDeDinheiro = 0;
   }
   
   public void ligar() {
      ligada = true;
      System.out.println("A maquina de refrigerantes foi ligada");
   }

   public void desligar() {
      ligada = false;
      System.out.println("A maquina de refrigerantes foi desligada");
   }

   public void fornecerRefrigerante(double dinheiroInserido)
      throws MaquinaDesligadaException, MaquinaVaziaException {
      System.out.println("Processando solicitacao...");
      if (!ligada) {
         throw new MaquinaDesligadaException();
      } else if (dinheiroInserido != 2.00) {
         System.out.println("Quantidade de dinheiro incorreta!");
         devolverDinheiro(dinheiroInserido);
      } else if (estoqueDeRefrigerante == 0) {
         devolverDinheiro(dinheiroInserido);
'      } else {
         estoqueDeRefrigerante = estoqueDeRefrigerante - 1;
         quantidadeDeDinheiro = quantidadeDeDinheiro + dinheiroInserido;
         System.out.println("Você recebeu um refrigerante!");
      }
   }

   private void devolverDinheiro(double quantia) {
      System.out.println("A quantia de " + quantia + " foi devolvida");
   }

   public void abastecerRefrigerantes(int qtdRefrigerantes)
               throws ValorNegativoNaoPermitidoException{
      if (qtdRefrigerantes < 0) {
         throw new ValorNegativoNaoPermitidoException("Não é possível abastecer uma quantidade negativa de refrigerantes");
      }
      estoqueDeRefrigerante = estoqueDeRefrigerante + qtdRefrigerantes;
   }
}

Admin
Admin

Mensagens : 82
Data de inscrição : 06/05/2013

https://geracaoteclages.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos