Pessoal não consigo alinhar o Try Cath dentro de um while e o else if esta quebrando todo o codigo , alguém pode ver o codigo é dar uma luz ai !
Estou colocando a lógica do código, pra clarear !
package co.javabank.bank;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Javabank {
public static void main(String[] args) {
Scanner entradados = new Scanner(System.in);
Contabank contabank = new Contabank("0001", "1234", "JAVABANK");
// D = DEPOSITAR
// S = SACAR
// E = SAIR
while (true) {
System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
try {
String operacoes = entradados.nextLine();
if (operacoes.equals("D"))
System.out.println("Qual valor deseja depositar ?");
double valor = entradados.nextDouble();
contabank.depositar(valor);
} catch (InputMismatchException InputMismatchException) {
}
} else if (operacoes.equals("S")) {
System.out.println("Qual valor deseja sacar ?");
if (!contabank.sacar(valor)) {
}
}catch (InputMismatchException InputMismatchException){
System.out.println("Ops ! Não foi possivel operação de Saque");
}
}
}
Valeu !
Se indentar o código direito, vai ver que você escreveu o else após fechar o while e não após fechar o if.
Você também pôs um catch após fechar um if, está errado, o catch vai depois de fechar o try.
Ficou assim !
Erro no java: ‘else’ without ‘if’
Não entendi direito , se alguém refatorar acho que ficaria melhor !
Isso não é trabalho nosso. O erro está bem claro…
else without if, seu catch deve ser movido pra dps do else if, e seu if não tem as chaves pra fazer a condição com o else if
Você escreveu o else após o catch.
O else, quando necessário, tem que vir depois do if.
Esse fragmento aqui dessa forma , esta funcionando eu só não consigo depois pegar mais excessões usando o else if , veja como ficou !
while (true) {
try {
System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
String operacoes = entradados.nextLine();
if (operacoes.equals("D"))
System.out.println("Qual valor deseja depositar ?");
double valor = entradados.nextDouble();
contabank.depositar(valor);
} catch (InputMismatchException InputMismatchException) {
}
}
Agora estou usando dessa forma para subentender a condição então recebi esse erro de compilação !
while (true) {
try {
System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
String operacoes = entradados.nextLine();
if (operacoes.equals("D"))
System.out.println("Qual valor deseja depositar ?");
double valor = entradados.nextDouble();
contabank.depositar(valor);
} catch (InputMismatchException InputMismatchException) {
}
}
if (operacoes.equal("S")) {
System.out.println("QUAL VALOR DESEJA SACAR");
double valor = entradados.nextDouble();
} else {
if (!contabank.sacar(valor)) {
System.out.println("ONps ! fOI POSSOIVEL SAQUE !");
}
}
}
ERRO NO COMPILADOR !!!
java: cannot find symbol
** symbol: variable operacoes**
** location: class co.javabank.bank.Javabank**