J'ai du mal à terminer un exercice java, cela implique d'utiliser des tableaux 2d pour créer dynamiquement et afficher une table basée sur un paramètre de ligne de commande.Exercice Java - tableau d'affichage avec tableau 2d
Exemple:
table java 5
+-+-+-+-+-+
|1|2|3|4|5|
+-+-+-+-+-+
|2|3|4|5|1|
+-+-+-+-+-+
|3|4|5|1|2|
+-+-+-+-+-+
|4|5|1|2|3|
+-+-+-+-+-+
|5|1|2|3|4|
+-+-+-+-+-+
Ce que je l'ai fait jusqu'à présent:
public static void main(String[] args) {
int num = Integer.parseInt(args[0]);
String[][] table = new String[num*2+1][num];
int[] numbers = new int[num];
int temp = 0;
for(int i=0; i<numbers.length; i++)
numbers[i] = i+1;
// wrong
for(int i=0; i<table.length; i++){
for(int j=0; j<num;j++){
if(i%2!=0){
temp=numbers[0];
for(int k=1; k<numbers.length; k++){
numbers[k-1]=numbers[k];
}
numbers[numbers.length-1]=temp;
for(int l=0; l<numbers.length; l++){
table[i][j] = "|"+numbers[l];
}
}
else
table[i][j] = "+-";
}
}
for(int i=0; i<table.length; i++){
for(int j=0; j<num; j++)
System.out.print(table[i][j]);
if(i%2==0)
System.out.print("+");
else
System.out.print("|");
System.out.println();}
}
Cela ne fonctionne pas, car il imprime 1 | 2 | 3 | 4 dans chaque rangée, ce qui n'est pas ce dont j'ai besoin. J'ai trouvé le problème, et c'est parce que la première boucle for change l'ordre du tableau plus de fois que nécessaire et, fondamentalement, elle revient comme elle l'était au début. Je sais que probablement il y a un moyen d'y parvenir en écrivant plus de code, mais j'ai toujours tendance à imbriquer autant que possible pour "optimiser" le code pendant que je l'écris, c'est pourquoi j'ai essayé de résoudre cet exercice en utilisant moins de variables et de boucles que possible.
Si vous avez trouvé le problème d'impression, ce * ne * vous avez besoin d'aide ? – thegrinner
J'ai besoin d'aide pour trouver un moyen de résoudre le problème, puisque j'ai passé une demi-journée à essayer de le trouver: \ – TheHacker66
vous voulez juste imprimer la table avec int [] [] comme données d'entrée ou vous devez sauvegarder exactement format de table sous forme de chaîne [] []? par exemple. ce serait String [11] [11] pour chaque ligne et colonne. beaucoup de lignes seraient dupliquées si. (ceux + - + - + ...)? – Kent