Problème java programmation sur tableau
lapierre49
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais quand on tape le nom d'un pays qu'il y ai un message avec le nom du pays et sa capitale.Mais ca ne s'affiche pas.Voici mon programme
Et quand je le lance s'a affiche
Merci de me donner la solution.Mon problème c'est que n'arrive pas à faire une recherche dans ce tableau pays
Je voudrais quand on tape le nom d'un pays qu'il y ai un message avec le nom du pays et sa capitale.Mais ca ne s'affiche pas.Voici mon programme
import java.util.Scanner; public class Pays { public static void main(String[] args) { Scanner clavier = new Scanner(System.in); System.out.println("Entrez un pays..."); String reponse = clavier.nextLine(); String[][] pays = {{"France", "Paris"}, {"Allemagne", "Berlin"}, {"Italie", "Rome"}, {"Espagne", "Madrid"}, {"Etats-Unis", "Whashington"}, {"Portugal", "Lisbonne"}}; //Noms des pays avec leurs capitales System.out.println("Recherche dans la banque de données..."); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } for (int i = 0; reponse.equals(pays[i][0]) || i > 3; i++){ //Tentative de recherche d'un pays System.out.println("Le pays est " + pays[i][0] +" sa capitale est " + pays[i][1]); } } }
Et quand je le lance s'a affiche
Entrez un pays...
Italie
Recherche dans la banque de données...
Merci de me donner la solution.Mon problème c'est que n'arrive pas à faire une recherche dans ce tableau pays
A voir également:
- Problème java programmation sur tableau
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
1 réponse
Bonjour,
Que voulais tu dire par
Cette condition est toujours fausse (sauf pour "France") donc la boucle s'arrête. Tu pourrais juste la remplacer par
Remarque, on peut aussi faire ça avec une boucle for each.
Que voulais tu dire par
reponse.equals(pays[i][0]) || i > 3?
Cette condition est toujours fausse (sauf pour "France") donc la boucle s'arrête. Tu pourrais juste la remplacer par
i < pays.lengthet ajouter un if dans la boucle pour filtrer l'égalité.
for (int i = 0; i < pays.length; i++) if (pays[i][0].equalsIgnoreCase(reponse)) System.out.println("Le pays est " + pays[i][0] + " sa capitale est " + pays[i][1]);
Remarque, on peut aussi faire ça avec une boucle for each.
for (String[] capitale : pays) if (capitale[0].equalsIgnoreCase(reponse)) System.out.println("Le pays est " + capitale[0] + " sa capitale est " + capitale[1]);
ElementW
Messages postés
4814
Date d'inscription
Statut
Contributeur
Dernière intervention
1 223
Un
à la fin du code du serait le bienvenu pour éviter les itérations inutiles.