J'essaie d'implémenter un code pour vérifier si un tableau de numéros donné est préféré ou non,
mais lorsque le numéro est Voici mon code. P> Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
int[] arr = new int[number];
for (int i = 0; i < number; i++) {
arr[i] = scan.nextInt();
}
for (int i = 0; i < number; i++) {
int num = arr[i];
for (int j = 2; j <= Math.sqrt(num); j++) {
if (num % j == 0 && num !=2) {
System.out.println(num + "Not prime");
break;
}
}
System.out.println(num +"Prime");
}
4 Réponses :
Vous devriez vous rappeler si le nombre était prime ou non. Votre code ne fait pas que les deux impressions sont atteintes.
Scanner scan = new Scanner(System.in); int number = scan.nextInt(); int[] arr = new int[number]; for (int i = 0; i < number; i++) { arr[i] = scan.nextInt(); } for (int i = 0; i < number; i++) { int num = arr[i]; boolean isPrime = true; for (int j = 2; j <= Math.sqrt(num); j++) { if (num % j == 0 && num !=2) { isPrime = false; break; } } if (isPrime) { System.out.println(num +"Prime"); } else { System.out.println(num + "Not prime"); } }
Merci, c'est vraiment utile.
Utilisez un booléen pour suivre si le nombre est prime. Supposons que c'est vrai (prime) de commencer et de la définir false s'il est découvert de ne pas être primordial. Ensuite, déterminez le message en fonction de ce booléen. P> String message = isPrime ? "Prime" : "Not prime";
Vous pouvez le réparer par exemple en introduisant une variable booléenne:
Si vous êtes intéressé à rendre votre code un peu plus efficace, vous pouvez aller à cet itinéraire.
C'est une approche agréable qui vérifie toutes les conditions, merci: D