fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone {
  9. public static void main (String[] args) throws java.lang.Exception {
  10. Conta c = new Conta(100, 200);
  11. for (double valor : Arrays.asList(150, 400, 100, 50, 100)) {
  12. System.out.printf("-------------\ntentar sacar %.2f\n", valor);
  13. boolean b = c.sacar(valor);
  14. if (b) {
  15. System.out.printf("sacou %.2f\n", valor);
  16. } else {
  17. System.out.println("estourou limite");
  18. }
  19. c.status();
  20. }
  21. }
  22. }
  23.  
  24. class Conta {
  25.  
  26. private double saldo, limite;
  27.  
  28. public Conta(double saldo, double limite) {
  29. this.saldo = saldo;
  30. this.limite = limite;
  31. }
  32.  
  33. public double getSaldo() {
  34. return saldo;
  35. }
  36.  
  37. public boolean sacar(double saque) {
  38. double total = getSaldo() + limite;
  39.  
  40. if (saque <= total) {
  41. diminuirSaldo(saque);
  42. return true;
  43. }
  44. return false;
  45. }
  46.  
  47. private void diminuirSaldo(double saque) {
  48. this.saldo -= saque;
  49. }
  50.  
  51. public void status() {
  52. String msg = String.format("\nSituação da conta\nSaldo: %.2f\nLimite: %.2f\n", saldo, limite);
  53. double total = saldo + limite;
  54. if (total == 0) {
  55. msg += "Vc não pode mais fazer saques";
  56. } else {
  57. msg += String.format("Vc ainda pode sacar %.2f", total);
  58. }
  59. System.out.println(msg);
  60. }
  61. }
  62.  
Success #stdin #stdout 0.22s 58560KB
stdin
Standard input is empty
stdout
-------------
tentar sacar 150.00
sacou 150.00

Situação da conta
Saldo:  -50.00
Limite: 200.00
Vc ainda pode sacar 150.00
-------------
tentar sacar 400.00
estourou limite

Situação da conta
Saldo:  -50.00
Limite: 200.00
Vc ainda pode sacar 150.00
-------------
tentar sacar 100.00
sacou 100.00

Situação da conta
Saldo:  -150.00
Limite: 200.00
Vc ainda pode sacar 50.00
-------------
tentar sacar 50.00
sacou 50.00

Situação da conta
Saldo:  -200.00
Limite: 200.00
Vc não pode mais fazer saques
-------------
tentar sacar 100.00
estourou limite

Situação da conta
Saldo:  -200.00
Limite: 200.00
Vc não pode mais fazer saques