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

A voir également:

9 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
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
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
nini
 
bonjour
tu n'a pas compléter le println dans cette instruction
System.out.print(product[i][j]);

merci
-1