Vérifier si un nombre entré est impair
"Je ne suis pas sûr de ce code à insérer ou encore où, mais je voudrais vérifier le numéro, j'ai entrez un nombre impair.
import java.io.*;
import javax.swing.JOptionPane;
public class Diamond {
public static void main(String [] args) throws IOException {
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
String input;
int num;
System.out.println("input number: ");
input = stdin.readLine ();
num = Integer.parseInt(input);
if (num % 2 ==1){
int d = num;
int e = 0;
for (int a = 0; a <= num; a++) {
for (int c = d; c>= 1; c-- )
System.out.print(" ");
d-=1;
for (int b = 1; b <= a; b++)
System.out.print ("* ");
System.out.println();
}
num-=1;
for (int a = 0; a<=num; a++) {
for (int b = num; b > a; b--)
System.out.print (" *");
System.out.println();
for (int c = 0; c <= e; c++)
System.out.print(" ");
e+=1;
}
} else {
System.out.println("Please enter an odd number!");
}
}
}
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Utilisation l'arithmétique modulaire:
Mise à jour:
Vous pouvez tester ce code ici:
Méfiez-vous que la vérification de la régularité avec
number % 2 == 1
échouera.Pour vérifier si un nombre est impair, vous pouvez utiliser
(number & 1) != 0
.num % 2 == 1 retourner des résultats incorrects sur des négatifs de nombre Impair, le reste de la division 2 ne sera pas 1.
Cela peut être corrigé comme suit:
Vous ne pouvez PAS avoir
readLine
à l'intérieur de cetteif
. Première vous devez obtenir la valeur et ensuite vous pouvez utiliser votreif
.Il va comme ceci:
Enfin - ne PAS utiliser de valeurs nommé "a", "e" ou "d" - il est très déroutant. Juste le nom de vars avec des noms qui laissent le lecteur de savoir deviner leur rôle dans votre code. Je n'ai aucune idée de ce qu'est le sens de votre "a", b, c, d, etc. Par exemple, votre
num
devrait être nomméenteredValue
de préciser votre code.Chaker réponse sur entier négatif est confirmé.
Dans mon JavaSE-1.8
il montre result =false au lieu de true
Opération au niveau du bit (manipulation de bits) en Java
fonctionne en cherchant à dire, 100 (numéro 4) vs 001, faire l'opération sur chacun des bits et le retour de 0 et de 1. Si le bit de fin est 0, comme 4, il va toujours être la même. Si le bit est à 1, il va être bizarre.