2
respostas

[Projeto] Projeto Final Desafio

import java.util.Scanner;

public class Conta {


    public static   void main(String[] args) {

        int Opcao = 0;
        Scanner Leitura = new Scanner(System.in);

        String nome = "Jacqueline Oliveira";
        String TipoConta = "Conta Corrente";
        double Saldoinicial = 100.0;

        System.out.println(String.format("""
                            *******************************************

                             Nome: %s
                             Tipo Conta: %s
                             Saldo inicial: %4.2f

                             ******************************************
                             """,
                nome, TipoConta, Saldoinicial));


        while (Opcao != 4) {


            System.out.println("""
                    1 - Consulta Saldo
                    2 - Receber Valor
                    3-  Transferir Valor
                    4 - Sair
                    """);

            System.out.println("Digite a Opção desejada: ");
            Opcao = Leitura.nextInt();

            switch (Opcao) {
                case 1:
                    System.out.println("*****************************************************");
                    System.out.println(String.format("Saldo da conta é %4.2f",Saldoinicial));
                    System.out.println("*****************************************************");
                    break;
                case 2:
                    System.out.println("Informe Valor a Receber");
                   double ValorReceber =Leitura.nextDouble();
                    Saldoinicial += ValorReceber;
                    System.out.println("*******************************************************");
                    System.out.println(String.format("Saldo atualizado R$ %4.2f", Saldoinicial));
                    System.out.println("*******************************************************");
                    break;
                case 3:
                    System.out.println("Informe o valor que deseja transferir:");
                    double ValorTransferir =Leitura.nextDouble();
                  if(ValorTransferir > Saldoinicial){
                        System.out.println("*******************************************************");
                        System.out.println("Saldo insufuciente para realizar Transferencia");
                        System.out.println("*******************************************************");
                    }else {
                        Saldoinicial = Saldoinicial - ValorTransferir;
                    }
                    System.out.println("*******************************************************");
                    System.out.println(String.format("Saldo atualizado R$ %4.2f", Saldoinicial));
                    System.out.println("*******************************************************");


                    break;
                case 4:
                    break;
            }


        }

    }

}
2 respostas

Oi O código apresenta os seguintes problemas:

  1. O método main está definido como public static void main(String[] args), com espaços em branco antes do void. Isso não é permitido na declaração do método. Remova os espaços em branco para que a declaração seja public static void main(String[] args).

  2. O código não está importando a classe java.util.Scanner, que é usada para a leitura de entrada do usuário. Adicione a linha import java.util.Scanner; no início do código, logo após a declaração do pacote.

  3. O código está usando o método System.out.println(String.format(...)) para imprimir informações formatadas. Embora seja uma maneira válida de formatar a saída, a utilização do operador printf é mais comum e simplificada. Substitua o bloco de código abaixo:

    System.out.println(String.format("""
                             *******************************************
    
                              Nome: %s
                              Tipo Conta: %s
                              Saldo inicial: %4.2f
    
                              ******************************************
                              """,
                 nome, TipoConta, Saldoinicial));

    por:

    System.out.printf("""
                             *******************************************
    
                              Nome: %s
                              Tipo Conta: %s
                              Saldo inicial: %4.2f
    
                              ******************************************
                              """, nome, TipoConta, Saldoinicial);
  4. No trecho do código onde é solicitado ao usuário que digite a opção desejada, há uma quebra de linha no final da string. Isso pode causar um comportamento indesejado na leitura dos valores posteriormente. Remova a quebra de linha na string:

    System.out.println("Digite a Opção desejada:");
  5. No caso 3 do switch, há uma condição para verificar se o ValorTransferir é maior que o Saldoinicial. No entanto, o código não trata esse caso corretamente. Após exibir a mensagem de saldo insuficiente, o código continua a executar o restante do switch, deduzindo o valor do saldo mesmo quando ele é insuficiente. Para corrigir isso, adicione um break após exibir a mensagem de saldo insuficiente:

    System.out.println("Saldo insuficiente para realizar Transferencia");
    System.out.println("*******************************************************");
    break;

Leandro, Com essas alterações, o código corrigido ficará assim:

import java.util.Scanner;

public class Conta {

    public static void main(String[] args) {

        int Opcao = 0;
        Scanner Leitura = new Scanner(System.in);

        String nome = "Jacqueline Oliveira";
        String TipoConta = "Conta Corrente";
        double Saldoinicial = 100.0;

        System.out.printf("""
                            *******************************************

                             Nome: %s
                             Tipo Conta: %s
                             Saldo inicial: %4.2f

                             ******************************************
                             """, nome, TipoConta, Saldoinicial);

        while (Opcao != 4) {
            System.out.println("""
                    1 - Consulta Saldo
                    2 - Receber Valor
                    3 - Transferir Valor
                    4 - Sair
                    """);

            System.out.println("Digite a Opção desejada:");
            Opcao = Leitura.nextInt();

            switch (Opcao) {
                case 1:
                    System

.out.println("*****************************************************");
                    System.out.printf("Saldo da conta é %4.2f\n", Saldoinicial);
                    System.out.println("*****************************************************");
                    break;
                case 2:
                    System.out.println("Informe Valor a Receber:");
                    double ValorReceber = Leitura.nextDouble();
                    Saldoinicial += ValorReceber;
                    System.out.println("*******************************************************");
                    System.out.printf("Saldo atualizado R$ %4.2f\n", Saldoinicial);
                    System.out.println("*******************************************************");
                    break;
                case 3:
                    System.out.println("Informe o valor que deseja transferir:");
                    double ValorTransferir = Leitura.nextDouble();
                    if (ValorTransferir > Saldoinicial) {
                        System.out.println("*******************************************************");
                        System.out.println("Saldo insuficiente para realizar Transferencia");
                        System.out.println("*******************************************************");
                        break;
                    } else {
                        Saldoinicial = Saldoinicial - ValorTransferir;
                    }
                    System.out.println("*******************************************************");
                    System.out.printf("Saldo atualizado R$ %4.2f\n", Saldoinicial);
                    System.out.println("*******************************************************");
                    break;
                case 4:
                    break;
            }
        }
    }
}

Espero ter ajudado!