Tenho uma trabalho da matéria de teoria de programação mas não consigo achar meu erro na programação.
O EXERCICIO É: Crie uma rotina que informe ao usuário se o número digitado é par ou ímpar.
COMO EU FIZ:
importjava.util.Scanner;classMain{publicstaticvoidmain(String[]args){// Crie uma rotina que informe ao usuário se o número digitado é par ou ímpar.Scannerscan=newScanner(System.in);intn;System.out.println("Digite um numero:");n=scan.nextInt();if(n%2==0){System.out.println("Numero é Par");}elseif(n%2==1){System.out.println("Numero é Impar");}}}
Pode me dizer o pq ele só faz um numero por vez? se eu digitar 10 sai certinho, mas se caso em seguida eu digito 5 ele já da erro
Para fazer vários, vc deve executar a verificação num loop. Qual erro está aparecendo qdo vc tenta outro número em seguida?
L
l4aryss4
oi
aparece este erro: bash : 9 : command not found
poderia me ajudar a fazr o loop?
Att
Lucas_Camara1 like
Antes, nos diga como vc está executando seu código. Pela linha de comando? Está usando alguma IDE (como eclipse, intellij, etc) ?
RoinujNosde2 likes
O seu programa Java se encerra e você tenta digitar o “9” na linha de comando (e não é mesmo um comando válido).
Se seguir a dica do @Lucas_Camara e fizer um loop, ele vai continuar executando até certa condição ser atingida.
hugokotsubo1 like
Só uma coisa: se o resto da divisão por 2 não é zero, o número é impar. Então se você já estou no if se é zero, não precisa testar se é 1 no else. Basta fazer:
if(n%2==0){
System.out.println("Número é Par");
}else{
System.out.println("Número é Ímpar");
}
Ou seja, se o resto não for zero, ele não entra no if e já cai no else, e ali eu não preciso testar tudo de novo (e nem preciso calcular o valor novamente). Se chegou no else, é porque o resto não é zero, então ali eu tenho certeza que é ímpar.
E assim fica melhor porque também trata os casos em que o número é negativo, já que nesses casos o resto será -1 (exemplo: https://ideone.com/7kbuo3).
L
l4aryss4
Estou usando o Replit
L
l4aryss4
é pelo linha de comando
staroski1 like
Não precisa de else if, basta um else:
if(n%2==0){
System.out.println("Numero é Par");
}else{
System.out.println("Numero é Impar");
}
Se quiser escrever menos código:
StringparOuImpar=n%2==0?"Par":"Impar";System.out.println("Numero é "+parOuImpar);
L
l4aryss4
como faço para que o programe faça um loop? que ele mostre um 5 números
q eu digitar?
RoinujNosde1 like
Scannerscan=newScanner(System.in);for(inti=0;i<5;i++){System.out.println("Digite um numero:");intn=scan.nextInt();if(n%2==0){System.out.println("Numero é Par");}else{System.out.println("Numero é Impar");}}