Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha");if(sc.nextInt()==1){System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}elseif(sc.nextInt()==2){System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}else{if(sc.nextInt()==3){System.out.println("Informe a nova senha: ");ClienteB.agencia=123;}else{System.out.println("Opção incorreta: ");}}
importjava.util.*;publicclassPrincipal{publicstaticvoidmain(String[]args){ContaCorrClienteA=newContaCorr();ContaCorrClienteB=newContaCorr();ClienteA.agencia=222;ClienteA.senha="abc";ClienteB.nome="Adriana";Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha");if(sc.nextInt()==1){System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}elseif(sc.nextInt()==2){System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}elseif(sc.nextInt()==3){System.out.println("Informe a nova senha: ");ClienteB.agencia=123;}else{System.out.println("Opção incorreta: ");}}}
R
r063rio
ajfilho:
Teste assim:
importjava.util.*;publicclassPrincipal{publicstaticvoidmain(String[]args){ContaCorrClienteA=newContaCorr();ContaCorrClienteB=newContaCorr();ClienteA.agencia=222;ClienteA.senha="abc";ClienteB.nome="Adriana";Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha");if(sc.nextInt()==1){System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}elseif(sc.nextInt()==2){System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}elseif(sc.nextInt()==3){System.out.println("Informe a nova senha: ");ClienteB.agencia=123;}else{System.out.println("Opção incorreta: ");}}}
Tirei. Mesmo assim não aceita as outras opções. Abrçs....
R
r063rio
Agora já está executando, mas percebi que tenho que digitar a opção 2 e 3 duas vezes e dá enter para que a alternativa apareca.
Grato!
Jedi
Tente trocar == por equal(). Pois, trata-se de um objeto. :idea:
philipe
Cara, tem que ser necessariamente usando IF ELSE??
Você pode usar também o CASE né:
importjava.util.Scanner;publicclassPrincipal{publicstaticvoidmain(String[]args){ContaCorrClienteA=newContaCorr();ContaCorrClienteB=newContaCorr();ClienteA.agencia=222;ClienteA.senha="abc";ClienteB.nome="Adriana";Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha");switch(sc.nextInt()){case1:{System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}case2:{System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}case3:{System.out.println("Informe a nova senha: ");ClienteB.agencia=123;}default:{System.out.println("Opção incorreta: ");break;}}}}
Uma outra alternativa :D
O
ozix
r063rio:
Agora já está executando, mas percebi que tenho que digitar a opção 2 e 3 duas vezes e dá enter para que a alternativa apareca.
Grato!
O que acontece é que você chama o nextInt() de novo, aí ele procura o próximo na String que você digitou na linha de comando. Para o seu código funcionar você tem que dar um jeito de chamar o nextInt() apenas uma vez. Você pode, por exemplo atribuir a uma variável antes de testar no bloco de if’s. Mas acho melhor usar case mesmo como disse o philipe, ou aderir à campanha anti if.
Não é um objeto, é primitivo mesmo.
R
r063rio
philipe:
Cara, tem que ser necessariamente usando IF ELSE??
Você pode usar também o CASE né:
importjava.util.Scanner;publicclassPrincipal{publicstaticvoidmain(String[]args){ContaCorrClienteA=newContaCorr();ContaCorrClienteB=newContaCorr();ClienteA.agencia=222;ClienteA.senha="abc";ClienteB.nome="Adriana";Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha");switch(sc.nextInt()){case1:{System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}case2:{System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}case3:{System.out.println("Informe a nova senha: ");ClienteB.agencia=123;}default:{System.out.println("Opção incorreta: ");break;}}}}
Uma outra alternativa :D
Eu havai pensado no case, mas como se trata de uma condicional com apenas 3 alternativas, fiz com if. Por curiosidade, estou tentando com o case. Ele executou, porém, quando seleciono a opção 1, ele executa 1 e 2. E as opções 3 e 4 estão fazendo a mesma coisa(uma deveria mudar a senha e a outra, exibir o extrato). Segue o código modificado.
import java.util.*;
public class Principal {
public static void main(String[] args) {
ContaCorr ClienteA = new ContaCorr();
ContaCorr ClienteB = new ContaCorr();
ClienteA.agencia = 222;
ClienteA.senha = "abc";
ClienteB.nome = "Adriana";
Scanner sc = new Scanner(System.in);
System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha"
+ "\n4 - Exibir extrato");
switch(sc.nextInt()) {
case 1: {
System.out.println("Informe a quantia a sacar: ");
float saque = sc.nextFloat();
ClienteA.saque(saque);
}
case 2: {
System.out.println("Informe a quantia a depositar: ");
float deposito = sc.nextFloat();
ClienteA.deposito(deposito);
}
case 3: {
System.out.println("Informe a nova senha: ");
ClienteB.senha = "123";
System.out.println("Senha modificada com sucesso");
}
case 4: {
System.out.println(ClienteA.extrato() + "\nAgencia " + ClienteA.agencia);
System.out.println(ClienteB.extrato() + "\nAgencia " + ClienteB.agencia);
}
// System.out.println("Opção incorreta: ");
}
}
}
O
ozix
pisa no freio.
Veronicaaa
r063rio:
Eu havai pensado no case, mas como se trata de uma condicional com apenas 3 alternativas, fiz com if. Por curiosidade, estou tentando com o case. Ele executou, porém, quando seleciono a opção 1, ele executa 1 e 2. E as opções 3 e 4 estão fazendo a mesma coisa(uma deveria mudar a senha e a outra, exibir o extrato). Segue o código modificado.
importjava.util.*;publicclassPrincipal{publicstaticvoidmain(String[]args){ContaCorrClienteA=newContaCorr();ContaCorrClienteB=newContaCorr();ClienteA.agencia=222;ClienteA.senha="abc";ClienteB.nome="Adriana";Scannersc=newScanner(System.in);System.out.println("O que vc deseja fazer? \n1 - Sacar; \n2 - Despositar; \n3 - Mudar senha"+"\n4 - Exibir extrato");switch(sc.nextInt()){case1:{System.out.println("Informe a quantia a sacar: ");floatsaque=sc.nextFloat();ClienteA.saque(saque);}case2:{System.out.println("Informe a quantia a depositar: ");floatdeposito=sc.nextFloat();ClienteA.deposito(deposito);}case3:{System.out.println("Informe a nova senha: ");ClienteB.senha="123";System.out.println("Senha modificada com sucesso");}case4:{System.out.println(ClienteA.extrato()+"\nAgencia "+ClienteA.agencia);System.out.println(ClienteB.extrato()+"\nAgencia "+ClienteB.agencia);}// System.out.println("Opção incorreta: ");}}}
Tem que colocar um break; no final de cada case.
R
r063rio
???
R
r063rio
Foi uma bela pisada na bola que dei. É claro que tava faltando o ‘break’.
Agora tá executando normalmente.
Valeu, galera…