Buscar

Atividade_APS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AppContas.java
import java.util.Scanner;
public class AppContas {
 public static void main(String[] args) {
 Scanner teclado = new Scanner(System.in);
 int opcao;
 int numeroConta;
 double limite;
 ContaCorrente conta_corrente;
 ContaEspecial conta_especial;
 ContaPoupanca conta_poupanca;
 do {
 System.out.println("1- nova conta corrente");
 System.out.println("2- nova conta especial");
 System.out.println("3- nova conta poupança");
 System.out.println("4- deposito");
 System.out.println("5- saque");
 System.out.println("6- consultar saldo");
 System.out.println("7- sair");
 System.out.print("Opção ==> ");
 opcao = teclado.nextInt();
 switch (opcao) {
 case 1:
 System.out.println("Informe o número da conta: ");
 numeroConta = teclado.nextInt();
 conta_corrente = new ContaCorrente(numeroConta);
 break; // interrompe a execução do case
 case 2:
 System.out.println("Informe o número da conta: ");
 numeroConta = teclado.nextInt();
 System.out.println("Informe o lmite da conta: ");
 limite = teclado.nextDouble();
 conta_especial = new ContaEspecial(numeroConta, limite);
 break;
 case 3:
 System.out.println("Informe o número da conta: ");
 numeroConta = teclado.nextInt();
 conta_poupanca = new ContaPoupanca(numeroConta);
 break;
 case 4:
 break;
 case 5:
 break;
 case 6:
 break;
 case 7:
 break;
 
 default:
 System.out.println("Opção inválida!");
 break;
 }
 } while (opcao != 7);
 teclado.close();
 }
}
Conta.java
public abstract class Conta {
 private int numero;
 private double saldo;
 public Conta(int numero) {
 this.numero = numero;
 this.saldo = 0;
 }
 public double getSaldo() {
 return saldo;
 }
 @Override
 public String toString() {
 return numero + " saldo: " + saldo;
 }
 public boolean deposito(double valor) {
 if (valor > 0) {
 saldo += valor;
 return true;
 }
 return false;
 }
 public boolean saque(double valor) {
 if (valor > 0) {
 saldo -= valor;
 return true;
 }
 return false;
 }
}
ContaCorrente.java
public class ContaCorrente extends Conta {
 final double TAXA_DEPOSITO = 0.1;
 public ContaCorrente(int numero) {
 super(numero);
 }
 @Override
 public boolean saque(double valor) {
 if(getSaldo() >= valor) {
 return super.saque(valor);
 }
 return false; // não tem saldo suficiente
 }
 @Override
 public boolean deposito(double valor) {
 return super.deposito(valor - TAXA_DEPOSITO);
 }
}
ContaEspecial.java
package atividade_aps;
public class ContaEspecial extends Conta {
 private double limite;
 public ContaEspecial(int numero, double limite) {
 super(numero);
 this.limite = limite;
 }
 @Override
 public boolean saque(double valor) {
 if(getSaldo() + limite >= valor) {
 return super.saque(valor);
 }
 return false;
 }
 @Override
 public String toString() {
 return super.toString() + " limite: " + limite;
 }
 
}
ContaPoupanca.java
package atividade_aps;
public class ContaPoupanca extends Conta {
 private static double taxa = 0.1; // atributo de classe
 public ContaPoupanca(int numero) {
 super(numero);
 }
 public static void setTaxa(double novaTaxa) {
 if(novaTaxa > 0) {
 taxa = novaTaxa;
 }
 }
 @Override
 public boolean saque(double valor) {
 if(valor + taxa <= getSaldo()) {
 return super.saque(valor + taxa);
 }
 return false;
 }
 @Override
 public String toString() {
 return super.toString() + " taxa: " + taxa;
 }
}

Continue navegando