Novato java e programação please me ajudem

Pessoal estou com uma dúvida, tenho de entregar este trabalho sexta feira agora e não consigo achar o erro no mesmo, detahe passei ele primeiro para java pois é a linguagem que eu aprendi, depois preciso passa-lo para C, e não consigo achar o erro no mesmo, se alguem puder me ajuda com o mesmo ficarei muito agradecido.

Obs. sou novato no forum e novato em programação e em java.

detalhe não posso usar vetor nem matriz no código. apenas os comandos aqui ja utilizados, porfavor pessoal quem puder me ajudar eu agradeceria muito.

/* trabalho
elaborar um algoritmo que simule o funcionamentode um caixa eletronico que oferece
as seguintes opções:

-deposito
-saque
-saldo
-emprestimo
-saida

-o saldo inicial é de R$ 1.000,00 , podendo o saldo ficar negativo
-o valor maximo de empréstimo é de R$ 5.000,00
->é necessário a criação de uma senha para o usuario que deve ser usada em qualquer opção.
-A senha digitada erroneamente por 3 vezes encerra o programa. */

import javax.swing.JOptionPane;

public class banco {

    public static void main(String args[]) {
//++++++++++Declaração de variaveis.

        int erro, erro_2, opcao, senha, senha_d;
        float saldo_inicial, emprestimo, emprestimo_d, saque, deposito;
        String nome;

//++++++++++ fim da declaração de variaveis.






//-------Declaração de constantes------------.


        saldo_inicial = 1000;
        emprestimo = 5000;

//-------Fim declaração de constantes------------.



//-------Pedidos de dados------------.

        nome = JOptionPane.showInputDialog("Bom dia Senhor(a), por favor digite o seu nome");


        senha = Integer.parseInt(JOptionPane.showInputDialog("Digite uma senha"));


        opcao = 0;
        erro = 0;

        JOptionPane.showMessageDialog(null, "Bom dia Senhor(a) " + nome + " o que o senhor deseja fazer?");

        opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                + "\n2 para deposito,"
                + "\n 3 para saque,"
                + "\n 4 para emprestimo,"
                + "\n 5 para saida"));




        switch (opcao) {


            case 1:

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor Senhor" + nome + " digite a sua senha para consultar o saldo."));

                do {

                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while (senha_d != senha);

                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");
                } else if ((senha_d != senha) && (erro <= 3)) {
                    JOptionPane.showMessageDialog(null, "Boa noite Senhor (a)" + nome + "o seu saldo atual é R$ " + saldo_inicial);
                    break;
                }



            case 2:

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + " digite a sua senha para realizar o deposito."));


                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while (senha_d != senha);
                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");
                } else if ((senha_d != senha) && (erro <= 3)) {

                    deposito = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja depositar."));


                    saldo_inicial = saldo_inicial + deposito;
                    JOptionPane.showMessageDialog(null, "o seu saldo atual é R$" + saldo_inicial);
                    break;

                }
                opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                        + "\n2 para deposito,"
                        + "\n 3 para saque,"
                        + "\n 4 para emprestimo,"
                        + "\n 5 para saida"));

            case 3:
                erro = 0;

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + "digite a sua senha para realizar o saque."));

                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while ((senha_d != senha));


                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");

                } else if ((senha_d != senha) && (erro < 3)) {
                    saque = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja sacar."));



                    saldo_inicial = saldo_inicial - saque;
                    JOptionPane.showMessageDialog(null, "o senhor sacou ," + saque + "o seu saldo atual é R$ " + saldo_inicial);
                    break;
                }


                JOptionPane.showMessageDialog(null, "Bom dia Senhor(a) " + nome + " o que o senhor deseja fazer?");

                opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                        + "\n2 para deposito,"
                        + "\n 3 para saque,"
                        + "\n 4 para emprestimo,"
                        + "\n 5 para saida"));


            case 4:

                erro = 0;
                erro_2 = 0;

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + "digite a sua senha para sacar o emprestimo."));

                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while (senha_d != senha);


                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");

                } else if ((senha_d != senha) && (erro <= 3)) {

                    JOptionPane.showMessageDialog(null, "Senhor (a) " + nome + " o senhor possui um limite de emprestimo atual de R$" + emprestimo);
                    emprestimo_d = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Digite o valor de emprestimo que o senhor quer sacar."));
                }


                do {
                    JOptionPane.showMessageDialog(null, " O valor solicitado de emprestimo é maior que o disponivel, operação não realizada");
                    erro_2++;
                } while ((emprestimo_d > emprestimo) && (erro_2 <= 10));

        }







    

case 5:

JOptionPane.showMessageDialog(null,"Até mais Senhor(a) "+nome);
JOptionPane.showMessageDialog(null,"Programa Encerrado");



default: JOptionPane.showMessageDialog(null,"Opção inválida");


}

}

Qual a sua dúvida?

O seu case está órfão, verifique as chaves do seu switch.

e organize esse codigo rapaz ! (alt+shift+f no NetBeans) :smiley:

Posta o erro. Isso irá ajudar a identificar.

seguinte ele simplismenten ão está funcionando, exemplo, o loop as vezes ta ficando infinito, não esta funcionando normalmente o menu (como era para funcionar) a estruturas de decisão ão estão funcionando fireto, fiz o algoritmo em portugues estruturado, e na lógica para mim está certo, tentem conpilar pra voce verem como irá funcionar ~~’’.

Não ira :

javac banco.java
banco.java:199: orphaned case
case 5:
^
1 error

quando coloco a senha correta na primeira opçã o programa me retorna a mensagem de serra errada ~~’’.
logo após isto ele ja pede a senhora por deposito sendo que eu pedi consulta de saldo, após isto ele informa que senha está errada (mesmo estando certa.), informa novamente que a senha está errada. ai trava na mensagem de senha errada.

não é erro de sintaxe é na lógica porem não consigo entender quando ela entra num loop infinito~~~’

Cara o problema é na logica do seu do while da uma olhada como eu fiz no caso 1 (case 1) :

/**
 *
 * @author root
 */
/* trabalho
elaborar um algoritmo que simule o funcionamentode um caixa eletronico que oferece
as seguintes opções:

-deposito
-saque
-saldo
-emprestimo
-saida

-o saldo inicial é de R$ 1.000,00 , podendo o saldo ficar negativo
-o valor maximo de empréstimo é de R$ 5.000,00
->é necessário a criação de uma senha para o usuario que deve ser usada em qualquer opção.
-A senha digitada erroneamente por 3 vezes encerra o programa. */
import javax.swing.JOptionPane;

public class banco {

    public static void main(String args[]) {
//++++++++++Declaração de variaveis.

        int erro, erro_2, opcao, senha, senha_d;
        float saldo_inicial, emprestimo, emprestimo_d = 0, saque, deposito;
        String nome;

//++++++++++ fim da declaração de variaveis.






//-------Declaração de constantes------------.


        saldo_inicial = 1000;
        emprestimo = 5000;

//-------Fim declaração de constantes------------.



//-------Pedidos de dados------------.

        nome = JOptionPane.showInputDialog("Bom dia Senhor(a), por favor digite o seu nome");


        senha = Integer.parseInt(JOptionPane.showInputDialog("Digite uma senha"));


        opcao = 0;
        erro = 0;

        JOptionPane.showMessageDialog(null, "Bom dia Senhor(a) " + nome + " o que o senhor deseja fazer?");

        opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                + "\n2 para deposito,"
                + "\n 3 para saque,"
                + "\n 4 para emprestimo,"
                + "\n 5 para saida"));




        switch (opcao) {


            case 1:

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor Senhor" + nome + " digite a sua senha para consultar o saldo."));

                while (senha_d != senha){
                    
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                    //senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor Senhor" + nome + " digite a sua senha para consultar o saldo."));
                } 

                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");
                } else if ((senha_d == senha) && (erro <= 3)) {
                    JOptionPane.showMessageDialog(null, "Boa noite Senhor (a)" + nome + "o seu saldo atual é R$ " + saldo_inicial);
                    break;
                }



            case 2:

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + " digite a sua senha para realizar o deposito."));


                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while (senha_d != senha);
                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");
                } else if ((senha_d != senha) && (erro <= 3)) {

                    deposito = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja depositar."));


                    saldo_inicial = saldo_inicial + deposito;
                    JOptionPane.showMessageDialog(null, "o seu saldo atual é R$" + saldo_inicial);
                    break;

                }
                opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                        + "\n2 para deposito,"
                        + "\n 3 para saque,"
                        + "\n 4 para emprestimo,"
                        + "\n 5 para saida"));

            case 3:
                erro = 0;

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + "digite a sua senha para realizar o saque."));

                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while ((senha_d != senha));


                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");

                } else if ((senha_d != senha) && (erro < 3)) {
                    saque = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja sacar."));



                    saldo_inicial = saldo_inicial - saque;
                    JOptionPane.showMessageDialog(null, "o senhor sacou ," + saque + "o seu saldo atual é R$ " + saldo_inicial);
                    break;
                }


                JOptionPane.showMessageDialog(null, "Bom dia Senhor(a) " + nome + " o que o senhor deseja fazer?");

                opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:digite 1 para saldo,"
                        + "\n2 para deposito,"
                        + "\n 3 para saque,"
                        + "\n 4 para emprestimo,"
                        + "\n 5 para saida"));


            case 4:

                erro = 0;
                erro_2 = 0;

                senha_d = Integer.parseInt(JOptionPane.showInputDialog("Por favor senhor" + nome + "digite a sua senha para sacar o emprestimo."));

                do {
                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                    erro++;
                } while (senha_d != senha);


                if (erro >= 3) {
                    JOptionPane.showMessageDialog(null, "você digitou a senha errada 3 vezes programa encerrado");

                } else if ((senha_d != senha) && (erro <= 3)) {

                    JOptionPane.showMessageDialog(null, "Senhor (a) " + nome + " o senhor possui um limite de emprestimo atual de R$" + emprestimo);
                    emprestimo_d = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Digite o valor de emprestimo que o senhor quer sacar."));
                }


                do {
                    JOptionPane.showMessageDialog(null, " O valor solicitado de emprestimo é maior que o disponivel, operação não realizada");
                    erro_2++;
                } while ((emprestimo_d > emprestimo) && (erro_2 <= 10));






            case 5:

                JOptionPane.showMessageDialog(null, "Até mais Senhor(a) " + nome);
                JOptionPane.showMessageDialog(null, "Programa Encerrado");



            default:
                JOptionPane.showMessageDialog(null, "Opção inválida");
        }

    }
}

cara testei o código que você editou e beleza funcionou a primeira opção, porem a cada opção (confirmação de ok) tem de retornar o menu com as opções para o cliente continuar navegando no programa.

o programa só pode ser finalizado se o cliente errar a senha 3 vezes ou se ele escolher a opção 5 do menu, após cada movimentação e transação na conta concluida deve retornar o menu para o cliente.

Voce vai converter ele pra C isso …entao usa um goto para o inicio do programa no lugar do break… brincks :D.
Recomendo que voce melhore esse codigo, separa cada tarefa em pequenos metodos.
E quanto a logica pra fazer funcionar da forma requerida voce ja sabe agora é só codificar, tenta ai.

beleza cara de qualquer forma vlw ai man, agradeço mesmo pela ajuda, vou tentar ver o que faço aqui… xD quanto ao goto não posso usar (professor da zero pra quem usa goto xD) mais de qualquer forma vlw mesmo man

Tem que ser tudo na mesma classe? é obrigatório o uso da estrutura switch/case?

falta o break apos a execucacao de cada case do switch

Boa tarde plastik69 !

testa este código, leia os comentários e qualquer dúvida posta novamente !

import javax.swing.JOptionPane;

public class Banco {
    //++++++++++Declaração de variaveis.
    // Aqui eu declaro as variáveis como static para que elas fiquem acessíveis no Main
    static int erro, erro_2, opcao;
    static float saldo_inicial, emprestimo, emprestimo_d = 0, saque, deposito;
    static String nome, senha, senha_d;
//++++++++++ fim da declaração de variaveis.

    /**
     * @param args the command line arguments
     */

    /* trabalho
    elaborar um algoritmo que simule o funcionamentode um caixa eletronico que oferece
    as seguintes opções:

    -deposito
    -saque
    -saldo
    -emprestimo
    -saida

    -o saldo inicial é de R$ 1.000,00 , podendo o saldo ficar negativo
    -o valor maximo de empréstimo é de R$ 5.000,00
    ->é necessário a criação de uma senha para o usuario que deve ser usada em qualquer opção.
    -A senha digitada erroneamente por 3 vezes encerra o programa. */

    public static Boolean verificarSenha() { //Esta função verifica a senha, ao invés de digitar a mesma coisa várias vezes
        senha_d = JOptionPane.showInputDialog("Por favor senhor " + nome + " digite a sua senha para realizar o deposito.");
        if (senha_d.equals(senha)) {
            return true;
        } else {
            return false;
        }
    }

    public static void main(String args[]) {
//-------Declaração de constantes------------.
        saldo_inicial = 1000;
        emprestimo = 5000;
//-------Fim declaração de constantes------------.
//-------Pedidos de dados------------.
        nome = JOptionPane.showInputDialog("Bom dia Senhor(a), por favor digite o seu nome");
        senha = JOptionPane.showInputDialog("Digite uma senha");
        opcao = 0;

        JOptionPane.showMessageDialog(null, "Bom dia Senhor(a) " + nome + " o que o senhor deseja fazer?");
        try {
            do { // as opções e o case estão dentro do while para não precisar digitar o menu várias vezes
                opcao = Integer.parseInt(JOptionPane.showInputDialog("Menu:"
                        + "\n Digite 1 para saldo,"
                        + "\n 2 para deposito,"
                        + "\n 3 para saque,"
                        + "\n 4 para emprestimo,"
                        + "\n 5 para saida"));
                switch (opcao) {
                    case 1:
                        erro = 0;
                        do {
                            if (verificarSenha() == true) {// Aqui é feita a verificação se o retorno da função for true, quer dizer que a senha está correta
                                JOptionPane.showMessageDialog(null, "Boa noite Senhor (a)" + nome + "o seu saldo atual é R$ " + saldo_inicial);
                                break;
                            } else { // senão é incrementado o valor da variavel erro
                                erro++;
                                if (erro >= 3) {
                                    JOptionPane.showMessageDialog(null, "Você digitou a senha errada 3 vezes programa encerrado");
                                } else {
                                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                                }
                            }
                        } while (erro < 3);
                        break;

                    case 2:
                        erro = 0;
                        do {
                            if (verificarSenha() == true) {
                                deposito = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja depositar."));
                                saldo_inicial = saldo_inicial + deposito;
                                JOptionPane.showMessageDialog(null, "O seu saldo atual é R$" + saldo_inicial);
                                break;
                            } else {
                                erro++;
                                if (erro >= 3) {
                                    JOptionPane.showMessageDialog(null, "Você digitou a senha errada 3 vezes programa encerrado");
                                } else {
                                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                                }
                            }
                        } while (erro < 3);
                        break;
                    case 3:
                        erro = 0;
                        do {
                            if (verificarSenha() == true) {
                                saque = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Por favor digite o valor que deseja sacar."));
                                saldo_inicial = saldo_inicial - saque;
                                JOptionPane.showMessageDialog(null, "o senhor sacou ," + saque + "o seu saldo atual é R$ " + saldo_inicial);
                                break;
                            } else {
                                erro++;
                                if (erro >= 3) {
                                    JOptionPane.showMessageDialog(null, "Você digitou a senha errada 3 vezes programa encerrado");
                                } else {
                                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                                }
                            }
                        } while (erro < 3);
                        break;
                    case 4:

                        erro = 0;
                        // erro_2 = 0;
                        do {
                            if (verificarSenha() == true) {
                                // do {
                                JOptionPane.showMessageDialog(null, "Senhor (a) " + nome + " o senhor possui um limite de emprestimo atual de R$" + emprestimo);
                                emprestimo_d = Float.parseFloat(JOptionPane.showInputDialog("Boa noite Senhor (a)" + nome + ". Digite o valor de emprestimo que o senhor quer sacar."));
                                if (emprestimo_d > emprestimo) {
                                    JOptionPane.showMessageDialog(null, " O valor solicitado de emprestimo é maior que o disponivel, operação não realizada");
                                    //erro_2++;
                                }
                                // } while (emprestimo_d > emprestimo);// se você quiser ficar pedindo para o usuário digitar um valor até que senha menor que o limite, é só descomentar está linha e a linha do inicio (do{)
                                break;
                            } else {
                                erro++;
                                if (erro >= 3) {
                                    JOptionPane.showMessageDialog(null, "Você digitou a senha errada 3 vezes programa encerrado");
                                } else {
                                    JOptionPane.showMessageDialog(null, "senha digita errada por favor digite novamente");
                                }
                            }
                        } while (erro < 3);
                        break;
                    case 5:

                        JOptionPane.showMessageDialog(null, "Até mais Senhor(a) " + nome);
                        JOptionPane.showMessageDialog(null, "Programa Encerrado");
                        break;

                    default:
                        JOptionPane.showMessageDialog(null, "Opção inválida");
                        break;
                }
            } while (opcao != 5);// enquanto o usuário não escolher a opção 5, o programa continua em funcionamento
        } catch (NumberFormatException e) {// caso o usuário clique em cancelar ou feche a janela, o programa é finalizado, tratando a excessão
            JOptionPane.showMessageDialog(null, "Até mais Senhor(a) " + nome);
            JOptionPane.showMessageDialog(null, "Programa Encerrado");
        }


    }
}