IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Erreur dans un tableau java


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club Avatar de Fafou06
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Erreur dans un tableau java
    Saut,
    Pour un projet je dois rechercher la position d'un élément dans le tableau périodique, le programme ne prend seulement en compte les 3 premières lignes du tableau. Mais cela ne marche que dans la 3e ligne et non les 2 premières, et lorsque je cherche un élément de la 1e ou de la 2e cela m'affiche une position à la fin de la 3e ligne ( ligne 3, colonne 8 ). Je tiens en compte du décalage de 1 des position dans le tableau. Quelqu'un pourrait m'aider svp, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    public static void main(String[] args) {
     
    	boolean retVal;
    	int p=0, f=0;
    	String a = null, recherche = null ;
     
    	String hydrogene = "H",helium = "He";
    	String lithium ="Li", beryllium = "Be", bore = "B", carbone ="C", azote = "N", oxygene = "O", fluor = "F", neon = "Ne";
    	String sodium = "Na", magnesium = "Mg", aluminium = "Al", silicium = "Si", phosphore = "P", soufre = "S", chlore = "Cl", argon = "Ar";
     
     
    	String [][] tablop = {
    			{hydrogene,helium},
    			{lithium,beryllium,bore,carbone,azote,oxygene,fluor,neon},
    			{sodium,magnesium,aluminium,silicium,phosphore,soufre,chlore,argon}
    			};
     
    	Scanner lectureClavier = new Scanner(System.in);
    	System.out.println("Entrez un élément chimique : ");
    	a = lectureClavier.nextLine();
    	System.out.println(a);
     
    	for (p=0;p< tablop.length;p++) {
    	for (f=0; f< tablop[p].length; f++) {
    		recherche = tablop[p][f];
    		retVal = recherche.equals(a);
    		if (retVal) break;
    		else continue;
    	}
    	}
     
    	System.out.println("ligne " +p);
    	System.out.println("colonne " +f);
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Vous réalisez un break que sur la boucle for parcourant les colonnes de votre Array. Donc votre code java, va passer à ligne suivante de votre tableau, mais ne pas sortir de l'ensemble de vos boucles.
    Vous pouvez mettre comme un "flag" pour savoir si vous avez trouvé le mot recherché à la place du break par exemple.

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    loop:
            for (p = 0; p < tablop.length; p++) {
                for (f = 0; f < tablop[p].length; f++) {
                    System.out.println(tablop[p][f]);
                    recherche = tablop[p][f];
                    retVal = recherche.equals(a);
                    if (retVal) {
                        break loop;
                    } else {
                        continue;
                    }
                }
            }
    Bon courage

  3. #3
    Futur Membre du Club Avatar de Fafou06
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci Millezime, mais avec le code que vous proposez cela ne fonctionne et je ne comprend pas toute fois l'utilisation du flag.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    La code ci-dessous fonctionne pour ma part, j'ai bien les positions des éléments souhaités :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    public static void main(String[] args) {
     
            boolean retVal;
            int p = 0, f = 0;
            String a = null, recherche = null;
     
            String hydrogene = "H", helium = "He";
            String lithium = "Li", beryllium = "Be", bore = "B", carbone = "C", azote = "N", oxygene = "O", fluor = "F", neon = "Ne";
            String sodium = "Na", magnesium = "Mg", aluminium = "Al", silicium = "Si", phosphore = "P", soufre = "S", chlore = "Cl", argon = "Ar";
     
            String[][] tablop = {
                {hydrogene, helium},
                {lithium, beryllium, bore, carbone, azote, oxygene, fluor, neon},
                {sodium, magnesium, aluminium, silicium, phosphore, soufre, chlore, argon}
            };
     
            Scanner lectureClavier = new Scanner(System.in);
            System.out.println("Entrez un élément chimique : ");
            a = lectureClavier.nextLine();
            System.out.println(a);
     
            loop:
            for (p = 0; p < tablop.length; p++) {
                for (f = 0; f < tablop[p].length; f++) {
                    System.out.println(tablop[p][f]);
                    recherche = tablop[p][f];
                    retVal = recherche.equals(a);
                    if (retVal) {
                        break loop;
                    } else {
                        continue;
                    }
                }
            }
     
            System.out.println("ligne " + p);
            System.out.println("colonne " + f);
        }

  5. #5
    Futur Membre du Club Avatar de Fafou06
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Millezime, Merci bien cela fonctionne juste une erreur d'inattention.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. je cherche l'erreur dans mon code java
    Par Boss38400 dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 22/10/2008, 16h33
  2. erreur dans le code java
    Par aroua dans le forum Général Java
    Réponses: 4
    Dernier message: 10/04/2008, 09h26
  3. Erreur dans un tableau
    Par the_fleche dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 15/06/2007, 20h52
  4. Erreur dans un tableau
    Par KOUTO dans le forum Delphi
    Réponses: 10
    Dernier message: 05/06/2007, 19h00
  5. erreur dans mon code "java.lang.NullPointerException"
    Par wiss20000 dans le forum Langage
    Réponses: 12
    Dernier message: 19/04/2007, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo