Bom dia a todos,
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:
import java.util.Scanner;
class Main{
public static void main(String[] args){
// Crie uma rotina que informe ao usuário se o número digitado é par ou ímpar.
Scanner scan = new Scanner(System.in);
int n;
System.out.println("Digite um numero:");
n = scan.nextInt();
if(n%2 == 0){
System.out.println("Numero é Par");
}
else if(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?
1 curtida
oi
aparece este erro: bash : 9 : command not found
poderia me ajudar a fazr o loop?
Att
Antes, nos diga como vc está executando seu código. Pela linha de comando? Está usando alguma IDE (como eclipse, intellij, etc) ?
1 curtida
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.
2 curtidas
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).
1 curtida
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:
String parOuImpar = n % 2 == 0 ? "Par" : "Impar";
System.out.println("Numero é " + parOuImpar);
1 curtida
como faço para que o programe faça um loop? que ele mostre um 5 números
q eu digitar?
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("Digite um numero:");
int n = scan.nextInt();
if (n % 2 == 0) {
System.out.println("Numero é Par");
} else {
System.out.println("Numero é Impar");
}
}
Isso deve executar 5 vezes.
1 curtida