Problème d'affichage
Résolu
ArmandAs_1998
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un problème d'affichage correct de mon résultat.
La consigne est: il s'agit d'un programme qui lit deux nombres entiers (le début et l'arrivée), ainsi qu'un pas et qui affiche les nombres allant du début à l’arrivée avec le pas donné.
Par exemple, avec les valeurs 10, 30 et 3, le programme devra afficher 10,13,16,19,22,25,28. Le programme devra aussi fonctionner si le décompte est à rebours : avec 25, 15 et 2, il devra afficher 25,23,21,19,17,15. Il est interdit d'utiliser une boucle for. Attention, l'incrément n’est jamais négatif, c'est au programme de déterminer si on augmente ou si on diminue les nombres. Exemple :
Entrez le nombre de départ : 30 Entrez le nombre d'arrivée : 5 Entrez l'incrément : 4
Résultat : 30,26,22,18,14,10,6
J'ai du mal à savoir comment on peut faire en sorte pour que ma dernière valeur n'aille pas pénétrer dans la deuxième boucle (par exemple si on met pour nombre de départ = 10, nombre d'arrivée = 30, et l'incrément = 3. --> ça me donne Résultat: 10,13,16,19,22,25,2831.) Merci.
J'ai un problème d'affichage correct de mon résultat.
La consigne est: il s'agit d'un programme qui lit deux nombres entiers (le début et l'arrivée), ainsi qu'un pas et qui affiche les nombres allant du début à l’arrivée avec le pas donné.
Par exemple, avec les valeurs 10, 30 et 3, le programme devra afficher 10,13,16,19,22,25,28. Le programme devra aussi fonctionner si le décompte est à rebours : avec 25, 15 et 2, il devra afficher 25,23,21,19,17,15. Il est interdit d'utiliser une boucle for. Attention, l'incrément n’est jamais négatif, c'est au programme de déterminer si on augmente ou si on diminue les nombres. Exemple :
Entrez le nombre de départ : 30 Entrez le nombre d'arrivée : 5 Entrez l'incrément : 4
Résultat : 30,26,22,18,14,10,6
J'ai du mal à savoir comment on peut faire en sorte pour que ma dernière valeur n'aille pas pénétrer dans la deuxième boucle (par exemple si on met pour nombre de départ = 10, nombre d'arrivée = 30, et l'incrément = 3. --> ça me donne Résultat: 10,13,16,19,22,25,2831.) Merci.
import java.util.Scanner; public class TD2_ex4 { public static void main(String[] args) { int dep, arr, pas; Scanner s = new Scanner(System.in); System.out.print("Entrer le nombre de départ: "); dep = s.nextInt(); System.out.print("Entrer le nombre d'arrivée: "); arr = s.nextInt(); System.out.print("Entrer l'incrément: "); pas = s.nextInt(); System.out.print("Résultat: "); while (dep<=arr && !(pas<0)) { System.out.print(dep); dep+=pas; if (dep>arr) { break; } else { } System.out.print(","); } while (dep>=arr && !(pas<0)) { System.out.print(dep); dep-=pas; if (dep<arr) { break; } else { System.out.print(","); } } System.out.print("."); } }
A voir également:
- Problème d'affichage
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Problème affichage page internet google chrome - Forum Téléphones & tablettes Android
- Pinterest problème affichage ✓ - Forum Réseaux sociaux
1 réponse
Bonjour,
Tu devrais te concentrer sur une solution avec une seule boucle, pas deux.
Pour y arriver il faudra notamment que tu ne modifies pas les valeurs saisies au clavier, mais que tu fasses tes calculs à l'aide de variables dédiées au calcul.
Remarque :
Tu devrais te concentrer sur une solution avec une seule boucle, pas deux.
Pour y arriver il faudra notamment que tu ne modifies pas les valeurs saisies au clavier, mais que tu fasses tes calculs à l'aide de variables dédiées au calcul.
Remarque :
!(pas<0)se simplifie en
pas>=0(mais ça ne sert à rien dans ton programme...)