JAVA Application skips commands [duplicate]

0

When I choose case 1, it works ok. But if you choose this option again, the console displays the menu, as if the option did not work.

Are there any visible errors in this code?

{
import java.util.Scanner;

public class Banking {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ContaBancaria[] conta = new ContaBancaria[10];

        for (int i=0; i<10; i++){
            conta[i] = new ContaBancaria();
        }

        System.out.println("Bem vindo!");
        Scanner sc = new Scanner(System.in);
        int op1 = -1;

        while (op1 != 3){
            System.out.println("Escolha a operacao desejada: \n" + " 1 - Criar nova conta\n"
                    + " 2 - Acessar minha conta\n" + " 3 - Cancelar operacao");
            op1 = sc.nextInt();

            switch (op1){
            case 1:
                for (int i=0; i<10; i++){
                    if (conta[i].cliente == ""){
                        System.out.println("Nome do cliente: ");
                        sc.nextLine();
                        conta[i].cliente = sc.nextLine();
                        conta[i].id = i+1;
                        System.out.println("Dados da sua conta: ");
                        System.out.println("Cliente: "+conta[i].getCliente());
                        System.out.println("Numero de identificacao da conta: "+conta[i].getId());
                        System.out.println("Saldo: R$"+conta[i].getSaldoInicial());
                    }
                    break;
                }
                break;
            case 2:
                System.out.println("Digite o numero de identificacao da conta: ");
                int nid = sc.nextInt();
                if(nid <= 0 || nid > 10){
                    System.out.println("Numero de conta invalido.\n");
                    break;
                }
                for (int i=0; i<10; i++){
                    if(conta[i].getId() == nid){
                        System.out.println("Bem vindo!\nConfirme os dados de sua conta: ");
                        System.out.println("Cliente: "+conta[i].getCliente());
                        System.out.println("Numero de identificacao da conta: "+conta[i].getId());
                        System.out.println("Saldo: R$"+conta[i].getSaldoInicial());
                    }

                    int op2 = -1;
                    while (op2 != 5) {
                        System.out.println("Entre com a operacao que desejada: \n" + " 1 - Sacar uma quantia \n"
                                + " 2 - Depositar uma quantia \n" + " 3 - Alterar saldo minimo \n" + " 4 - Obter saldo \n"
                                + " 5 - Cancelar operacao");
                        op2 = sc.nextInt();
                        switch (op2) {
                        case 1:
                            System.out.print("Entre com o valor para sacar: ");
                            float valorSaque = sc.nextFloat();
                            conta[i].Sacar(valorSaque);
                                break;
                        case 2:
                            System.out.print("Entre com o valor para depositar: ");
                            float valorDeposito = sc.nextFloat();
                            conta[i].Depositar(valorDeposito);
                            break;
                        case 3:
                            System.out.print("Entre com o valor para saldo minimo: ");
                            float valorSaldo = sc.nextFloat();
                            conta[i].AlterarSaldoMinimo(valorSaldo);
                            break;
                        case 4:
                            System.out.println("Saldo: " + conta[i].ConsultarSaldo());
                            break;
                        case 5:
                            System.out.println("Obrigado por usar nossos servicos.\nAte breve.");
                            System.exit(0);
                            break;
                        default:
                            System.out.println("OPERACAO INCORRETA");
                        } //fim switch
                    } //fim while
                } //fim for
                break;
            case 3:
                System.out.println("Obrigado por usar nossos servicos.\nAte breve!");
                System.exit(0);
                break;
            default:
                System.out.println("OPERACAO INCORRETA");
    } //fim switch
    } //fim while
        sc.close();
} //fim main
} //fim classe
}
    
asked by anonymous 05.09.2016 / 02:39

0 answers