Tableau avec la console java
Fermé
mimi19911980
Messages postés
26
Date d'inscription
mardi 10 novembre 2020
Statut
Membre
Dernière intervention
14 octobre 2021
-
23 nov. 2020 à 04:59
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 25 nov. 2020 à 11:40
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 25 nov. 2020 à 11:40
A voir également:
- Tableau avec la console java
- Quelle console choisir - Guide
- Realtek audio console ✓ - Forum Windows
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
_HeavenKnight_
Messages postés
14
Date d'inscription
mercredi 26 octobre 2016
Statut
Membre
Dernière intervention
4 décembre 2020
1
25 nov. 2020 à 09:32
25 nov. 2020 à 09:32
Bonjour à toi !
Il te faut faire une double boucle récursive
Saches que un écran étant en 2D, tu ne pourras pas afficher des tableaux à plus de 2 dimensions
Supposons que ton tableau s'appelle tab
A savoir que tu pourrais avoir des décalages si tu as des valeurs > 9, auquel cas il faudrait passer par le logarithme base 10 pour afficher le bon nombre de tirets...
En espérant que cela t'aide et que tu comprennes !
Il te faut faire une double boucle récursive
Saches que un écran étant en 2D, tu ne pourras pas afficher des tableaux à plus de 2 dimensions
Supposons que ton tableau s'appelle tab
int i;
int j;
System.out.print(" ");
for(i = 0; i < tab[0].length; i++)
{
System.out.print(" " + i);
}
System.out.println();
System.out.print(" ");
for(i = 0; i < tab[0].length; i++)
{
System.out.print("--");
}
System.out.println();
for(i = 0; i < tab.length; i++)
{
System.out.print(i + "|");
for(j = 0; j < tab[i].length; j++)
{
System.out.print(tab[i][j] + "|");
}
System.out.println();
System.out.print(" ");
for(j = 0; j < tab[i].length; j++)
{
System.out.print("--");
}
System.out.println();
}
A savoir que tu pourrais avoir des décalages si tu as des valeurs > 9, auquel cas il faudrait passer par le logarithme base 10 pour afficher le bon nombre de tirets...
En espérant que cela t'aide et que tu comprennes !
25 nov. 2020 à 11:40
Ton affichage est tout bizarre.
Exemple :
String[][] tab = {{"Hello", "Toto"}, {"Bim","World!"}};Pour que cela soit joli, il faudrait dans une premier temps calculer la taille de chaque colonne.
Exemple :
public static void print(String[][] datas) { int height = datas.length, width = datas[0].length; int[] columnLengths = new int[width]; for (int h = 0; h < height; h++) { for (int w = 0; w < width; w++) { columnLengths[w] = Math.max(columnLengths[w], datas[h][w].length()); } } int lineLength = width + 1; for (int columnLength : columnLengths) { lineLength += columnLength; } String line = ""; for (int length = 0; length < lineLength; length++) { line += '-'; } System.out.println(line); for (int h = 0; h < height; h++) { System.out.print('|'); for (int w = 0; w < width; w++) { System.out.print(datas[h][w]); for (int s = datas[h][w].length(); s < columnLengths[w]; s++) { System.out.print(' '); } System.out.print('|'); } System.out.println(); System.out.println(line); } }