CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Tableaux 2 dim

pizzacoca
pizzacoca
Niveau 9
06 février 2011 à 20:38:49

bonsoir, j'ai un petit problème avec mes programmes concernant les tableaux 2 dimensions.

Pour celui-ci, il vérifié s'il y a un nombre négatif ou = 0 dans le tableau et m'affiche "false" si c'est le cas. Or, il m'affiche correctement la réponse pour la première ligne, mais pas pour la seconde. Vous pouvez me dire qu'est-ce qui cloche, je galère depuis des heures avec un autre prog sur les tableaux 2D.

import java.util.Scanner;

public class positifs {

public static boolean check (int[][] tab) {
int i = 0; int j = 0;
boolean verif = true;

while ((i<2) && (verif==true)) {
while ((j<2) && (verif==true)) {
if ( tab[i][j] <= 0) {
verif = false;
}
j = j+1;
}
i = i+1;
}
return verif;
}
public static void main (String[] args) {

Scanner clavier = new Scanner (System.in);
int[][]tab = new int [2][2];
boolean verif = true;

System.out.println ("Valeurs à entrer : ");

for (int i=0; i<2; i++) {
for (int j=0; j<2; j++) {
tab[i][j] = clavier.nextInt();
}
}

verif = check (tab);

System.out.println ("Réponse : " +verif);
}
}
~

Merci.

dnob700
dnob700
Niveau 10
06 février 2011 à 21:28:42

"Or, il m'affiche correctement la réponse pour la première ligne, mais pas pour la seconde."

Qu'est ce que ça veut dire ? Il n'y a qu'une seule réponse pour tout le tableau (est-ce qu'il contient un nombre négatif). Il n'y a pas de réponse par ligne.

godrik
godrik
Niveau 30
06 février 2011 à 21:28:55

affiche les valeurs i et j qui sont utilise dans ta boucle et la reponse t'apparaitra.

pizzacoca
pizzacoca
Niveau 9
06 février 2011 à 22:01:49
  1. dnob700 Voir le profil de dnob700
  2. Posté le 6 février 2011 à 21:28:42 Avertir un administrateur
  3. "Or, il m'affiche correctement la réponse pour la première ligne, mais pas pour la seconde."

Qu'est ce que ça veut dire ? Il n'y a qu'une seule réponse pour tout le tableau (est-ce qu'il contient un nombre négatif). Il n'y a pas de réponse par ligne.

=> Ce que j'entends par là, c'est que quand j'essaie avec un nombre négatif à la première ligne et pas à la deuxième, il me met false. Quand je mets un nombre négatif à la deuxième ligne et pas à la première, j'ai un true.
Je sais très bien qu'il n'y a qu'une seule réponse.

godrik => J'ai pas compris :(

godrik
godrik
Niveau 30
06 février 2011 à 22:42:56

tu as une boucle ou tu testes les valeures de ton tableau. Trace l'execution de ton programme en affichant nles valeures de toutes les variables a chaque tour de boucles. Regarde ce qu'il se passe et conclut sur comment resoudre ton probleme.

pizzacoca
pizzacoca
Niveau 9
06 février 2011 à 23:10:37

Ok je vais voir, merci.

pizzacoca
pizzacoca
Niveau 9
07 février 2011 à 21:24:01

En fait, le problème était que je n'avais pas mis j = 1 avant la 2iè boucle. Et i = 1 avant la première.

godrik
godrik
Niveau 30
07 février 2011 à 22:44:52

en effet :)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment