Eu tenho um case dentro do switch, que quando eu entro nele pede a entrada de dados, só que quando vai entrar pra parte lógica, no caso um “if”, ele simplesmente passa pro próximo case que tem no switch.
switch(opcao){case1:System.out.println("");System.out.println("Seu saldo é: "+saldo);opcaoDesejada();case2:System.out.println("");System.out.println("Digite o valor a ser depositado: ");deposito=ler.nextDouble();saldo+=deposito;System.out.println("");System.out.println("Seu saldo novo é: "+saldo);ex="+ "+deposito;exOperacoes.append(ex);exOperacoes.append(System.getProperty("line.separator"));opcaoDesejada();case3:System.out.println("");System.out.println("Digite o valor a ser sacado: ");saque=ler.nextDouble();saldo-=saque;System.out.println("");System.out.println("Seu saldo novo é: "+saldo);ex="- "+saque;exOperacoes.append(ex);exOperacoes.append(System.getProperty("line.separator"));opcaoDesejada();case4:System.out.println("Digite o Valor: ");transf=ler.nextDouble();System.out.println("Digite a Conta: ");StringuserCONTA=ler.next();if(userCONTA.equals(conta)){saldo-=transf;ex="TRANSFERENCIA: - "+transf;}else{System.out.println("Algum dos dados digitados "+"estão incorretos ou o valor da transferencia"+"é maior que o saldo");}case5:System.out.println("Seu extrato é: ");System.out.print(exOperacoes);opcaoDesejada();case0:inicio();default:System.out.println("Tecla Incorreta");opcoes();System.out.println("");}
O que acontece, é que quando ele vai pra entrar no if do case 4, ele nao entra e vai pro proximo case. Eu tentei usar os breaks, tb deu na mesma
R
RaphaZ99
Você tem que colocar o break em todos os seus cases, se não ele irá automaticamente executar os swits abaixo da escolha.
Referente ah não entrar no IF possivelmente o seu objeto tem um valor string diferente por exemplo.
userConta = “Teste”
conta = “teste”
ao fazer a comparação ele identifica que não é igual, tenta fazer com equalsIgnoreCase.
E mais uma coisa como não tenho acesso ao código inteiro esse “conta” é um objeto ou uma variavel? Pois se for um objeto você deverá chamar o método get da variavel que você quer comparar da classe.
jelokao1
é uma variável
jelokao1
tem como me chamar no whats?
staroski
Deve ter colocado nos locais errados.
switch(opcao){case1:System.out.println("");System.out.println("Seu saldo é: "+saldo);opcaoDesejada();break;case2:System.out.println("");System.out.println("Digite o valor a ser depositado: ");deposito=ler.nextDouble();saldo+=deposito;System.out.println("");System.out.println("Seu saldo novo é: "+saldo);ex="+ "+deposito;exOperacoes.append(ex);exOperacoes.append(System.getProperty("line.separator"));opcaoDesejada();break;case3:System.out.println("");System.out.println("Digite o valor a ser sacado: ");saque=ler.nextDouble();saldo-=saque;System.out.println("");System.out.println("Seu saldo novo é: "+saldo);ex="- "+saque;exOperacoes.append(ex);exOperacoes.append(System.getProperty("line.separator"));opcaoDesejada();break;case4:System.out.println("Digite o Valor: ");transf=ler.nextDouble();System.out.println("Digite a Conta: ");StringuserCONTA=ler.next();if(userCONTA.equals(conta)){saldo-=transf;ex="TRANSFERENCIA: - "+transf;}else{System.out.println("Algum dos dados digitados "+"estão incorretos ou o valor da transferencia"+"é maior que o saldo");}break;case5:System.out.println("Seu extrato é: ");System.out.print(exOperacoes);opcaoDesejada();break;case0:inicio();break;default:System.out.println("Tecla Incorreta");opcoes();System.out.println("");break;}