Extrato em um caixa eletrônico

Olá amigos gostaria de tirar uma dúvida com vocês. Fiz um pequeno programinha para caixa eletrônico que tem as opcões de saque/depósito/saldo. Eu gostaria de incluir a opção extrato, que pudesse ser visualizado os saques que foram realizados, os depósitos realizados e o saldo atual. Abaixo vou colocar meu código.

package meucaixaeletronico;
import java.util.Scanner;
public class MeuCaixaEletronico {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int option;
        double saldo = 0;        
        while (true) {
            imprimeMenu();
            option = sc.nextInt();
            if (option == 0) {
                break;
            }
            if (option == 1) {
                //3.1 imprimir saldo
                System.out.println(" Seu saldo é: $" + saldo);
            } else if (option == 2) {
                // 3.2 realizar saque
                System.out.println(" Informe um valor para saque: ");
                double saque = sc.nextDouble();
                if (saque <= 0) {
                    System.out.println(" O valor é inválido. ");
                } else if (saque > saldo) {
                    System.out.println(" Saldo insuficiente. ");
                } else {
                    System.out.println("$" + saque + " Sacado com sucesso. ");
                    saldo -= saque;
                }
            } else if (option == 3) {
                // 3.3 realizar deposito
                System.out.println(" Informe um valor para depósito: ");
                double deposito = sc.nextDouble();
                if (deposito <= 0) {
                    System.out.println(" O valor é inválido. ");
                } else {
                    System.out.println("$" + deposito + " Depositado com sucesso. ");
                    saldo += deposito;
                }
            } else {
                System.out.println(" Opção inválida, tente novamente. ");
            }
        }
        System.out.println(" Obrigado por escolher o banco FAT! ");
    }
    public static void imprimeLinha() {
        System.out.println(" ********** ");
    }
    public static void imprimeMenu() {
        imprimeLinha();
        System.out.println(" 1) Saldo: ");
        System.out.println(" 2) Saque: ");
        System.out.println(" 3) Depósito: ");
        System.out.println(" 0) SAIR. ");
        imprimeLinha();
    }
}

Vc já tem o exemplo neste mesmo código das outras opções, vc não consegue adicionar a nova opção de extrato?

Não vou te dar o código, mas posso passar qual logica eu usaria.

Você já sabe qual é a operação efetuada e qual é o valor que está sendo utilizado.

Então bastaria você criar uma lista com esses parâmetros, e a cada operação realizada de saque e deposito você gravaria essa operação na lista.

Onde, caso a pessoa digite a opção do extrato, você apenas precisará percorrer essa lista e imprimir na tela cada elemento que ela possui.

Espero ter ajudado.

Podem fechar o tópico, já foi dada a solução amigos.

Só pra constrar seria criar um classe de ArrayList do tipo String, o amigo deu a solução aí, mas não vejo o comentário dele, mesmo assim vou postar como ele fez:

package cxeletronico;

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class CXELETRONICO {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int option;
        double saldo = 0;
        List<String> extrato = new ArrayList<String>(); // variável extrato do tipo arraylist<string>
        extrato.add(" Saldo inicial: $"+ saldo); // acrescentando o saldo inicial, como primeiro registro da lista       

        while (true) {
            imprimeMenu();

            option = sc.nextInt();

            if (option == 0) {
                break;
            }

            if (option == 1) {
                //3.1 imprimir saldo
                System.out.println(" Seu saldo é: $" + saldo);

            } else if (option == 2) {
                // 3.2 realizar saque
                System.out.println(" Informe um valor para saque: ");
                double saque = sc.nextDouble();

                if (saque <= 0) {

                    System.out.println(" O valor é inválido. ");

                } else if (saque > saldo) {

                    System.out.println(" Saldo insuficiente. ");

                } else {
                    System.out.println("$" + saque + " Sacado com sucesso. ");
                    saldo -= saque;
                    extrato.add(" Saque de $" + saque); // adicionando na lista valor do saque

                }

            } else if (option == 3) {
                // 3.3 realizar deposito
                System.out.println(" Informe um valor para depósito: ");
                double deposito = sc.nextDouble();

                if (deposito <= 0) {
                    System.out.println(" O valor é inválido. ");

                } else {
                    System.out.println("$" + deposito + " Depositado com sucesso. ");
                    saldo += deposito;
                    extrato.add(" Depósito de $" + deposito); // adicionando valor do deposito
                }
                
            }else if (option == 4) {
                extrato.add(" Saldo atual: $"+ saldo);
                for(String string : extrato) { // percorrendo a lista com um for-each
                    System.out.println(string); // imprime cada String da lista
                }

            } else {

                System.out.println(" Opção inválida, tente novamente. ");
            }

        }
        System.out.println(" Obrigado por escolher o banco FAT! ");

    }

    public static void imprimeLinha() {

        System.out.println(" ********** ");

    }

    public static void imprimeMenu() {

        imprimeLinha();

        System.out.println(" 1) Saldo: ");

        System.out.println(" 2) Saque: ");

        System.out.println(" 3) Depósito: ");
        
        System.out.println(" 4) Extrato: ");

        System.out.println(" 0) SAIR. ");

        imprimeLinha();

    }

}

mto agradecido, abçs