Java:mon prg n'affiche pas le résultat

Résolu
domxaline -  
 domxaline -
Bonjour,
mon prg n'affiche pas le résultat
public class TestArrays3 
{
  final static int rows=10;
  final static int columns=20;
  public static void main(String[]args)
  {
	 int product[][]=new int [rows][columns]; 
	 int rows=10;
	 int columns=20;
	 System.out.println("MULTIPLICATION TABLE");
	 System.out.println("");
	 int i,j;
	 for(i=10;i<rows;i++)
	 {
		 for(j=10;j<columns;j++)
		 {
			 product[i][j]=i*j;
			 System.out.println(""+product[i][j]);
		 }
		 System.out.println(""); 
	 }
  }
}


resulat affiche que
MULTIPLICATION TABLE

aidez moi svp

9 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Parce que tu as initialisé i à 10, en lui imposant d'être toujours inférieur à rows qui vaut 10, en conséquence il ne rentre jamais dans la boucle !
    Initialises i et j avec 0, ou 1, mais pas 10 !
    0
  2. domxaline
     
    même en changeant comme ça ,s'affiche pas le résultat
    aidez moi svp
     int i,j;
    	 for(i=0;i<rows;i++)
    	 {
    		 for(j=1;j<columns;j++)
    		 {
    			 product[i][j]=i*j;
    			 System.out.print(""+product[i][j]);
    		 }
    
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Avec ce code, ça devrait s'afficher ! Vérifies que tu as bien changé ton code comme tu l'as mis ici.

      Remarque :
      1) le ""+ est inutile dans le print, tu peux directement faire print(product[i][j]) car la méthode print sait afficher des entiers (en fait elle sait afficher tout les objets grâce à la méthode toString de Object...)
      2) de même tu n'es pas obligé de mettre "" dans le println, tu peux faire directement println() et ça fera exactement pareil (mais c'est plus joli)
      3) dans ton cas précis, il vaudrait mieux rajouter un affichage \t pour séparer les colonnes

      4) même si ce n'est pas faux il est plus logique d'écrire int[][] product,car en Java les tableaux sont des classes à part entière contrairement au int product[][] qui fait penser aux pointeurs du C
      0
  3. domxaline
     
    public class TestArrays3 
    {
      final static int rows=0;
      final static int columns=20;
      public static void main(String[]args)
      {
    	 //int product[][]=new int [rows][columns];
    	 int[][] product=new int [rows][columns];
    	 //int rows=0;
    	 //int columns=;
    	 System.out.println("MULTIPLICATION TABLE");
    	 System.out.println("");
    	 int i,j;
    	 for(i=0;i<rows;i++)
    	 {
    		 for(j=1;j<columns;j++)
    		 {
    			 product[i][j]=i*j;
    			 System.out.print(product[i][j]);
    		 }
    		 System.out.println(""); 
    	 }
      }
    }
    

    j'ai changé mon code
    résultat est toujours

    MULTIPLICATION TABLE
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Sauf que depuis tout à l'heure tu as changé la valeur de rows en la mettant à 0, et tu as donc le même problème tu initialises i à 0 en lui imposant d'être inférieur à 0 donc tu ne rentres pas dans la boucle.
      0
  4. domxaline
     
    vous voulez que je fasse comme ça
    int i,j; 
      for(i=1;i<rows;i++) 
      { 
       for(j=1;j<columns;j++) 
       { 
        product[i][j]=i*j; 
        System.out.print(product[i][j]+"\t"); 
       } 
    

    en faisant comme ça résultat est la même
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Faire comme ça oui, mais en gardant la valeurs de rows que tu avais au départ c'est à dire 10, et non pas 0 !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. domxaline
     
    tu n'a pas compléter le println dans cette instruction
    System.out.print(product[i][j]); 
    

    expliquez moi s'il vous plaît
    même en écrivant comme suivant je n'ai pas le résultat
    public class TestArrays3 
    {
      final static int rows=10;
      final static int columns=20;
      public static void main(String[]args)
      {
    	 //int product[][]=new int [rows][columns];
    	 int[][] product=new int [rows][columns];
    	 int rows=10;
    	 int columns=20;
    	 System.out.println("MULTIPLICATION TABLE");
    	 System.out.println("");
    	 int i,j;
    	 for(i=10;i<rows;i++)
    	 {
    		 for(j=20;j<columns;j++)
    		 {
    			 product[i][j]=i*j;
    			 //System.out.print(product[i][j]+"\t");
    		 }
    		 //System.out.println(""); 
    		 System.out.print(product[i][j]+"\t");
    	 }
      }
    }
    
    0
  7. domxaline
     
    merci pour votre aide
    je veux qu'il s'affiche comme ça:

    MULTIPLICATION TABLE
    100 110 120 130 140 150 160 170 180 190
    110 121 132 143 154 165 176 187 198 209
    120 132 144 156 168 180 192 204 216 228
    130
    140
    150
    160
    170
    180
    190 ... ... ... ... ... ... ... ... ... ... ... ... ... ... 361

    merci d'avance
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Je t'ai déjà expliqué au moins deux fois d'où venait le problème, alors je le fais une troisième fois, mais après j'arrête, apprends à lire les réponses qu'on te donne !

      Lorsque tu fais for(i=10;i<rows;i++) tu imposes que i commence à 10, or rows étant égal à 10 également, ça signifie que tu imposes que i soit inférieur à 10, et comme il y a incompatibilité, la boucle for s'arrête avant même qu'elle n'ait commencé ! Donc change tes bornes...
      0
  8. domxaline
     
    corrigé mon prg
    public class TestArrays3 
    {
      final static int rows=20;
      final static int columns=20;
      public static void main(String[]args)
      {
    	 System.out.println("MULTIPLICATION TABLE");
    	 System.out.println("");
    	 int i,j;
    	 for(i=10;i<rows;i++)
    	 {
    		 for(j=10;j<columns;j++)
    		 {
    			 System.out.print(i*j+"\t");	 
    		 }
    		 System.out.println(""); 
    	 }
      }
    }
    
    0
  9. domxaline
     
    regardez bien le prg a changé
    j'ai récupéré mon résultat;
    MULTIPLICATION TABLE
    100 110 120 130 140 150 160 170 180 190
    110 121 132 143 154 165 176 187 198 209
    120 132 144 156 168 180 192 204 216 228
    130
    140
    150
    160
    170
    180
    190 ... ... ... ... ... ... ... ... ... ... ... ... ... ... 361
    0
  10. nini
     
    bonjour
    tu n'a pas compléter le println dans cette instruction
    System.out.print(product[i][j]);

    merci
    -1