Java, dessin e croix
J'essaie de coder une méthode qui dessine une croix en JAVA. (voir la photo pour un exemple).
Voici l'exemple:
Quelques questions:
Comment puis-je donner à un tableau les dimensions via le paramètre? Il semble qu'Eclipse ait besoin d'un nombre au lieu de variables pour les dimensions du tableau. J'ai pensé qu'il était possible de donner à la méthode un paramètre, quelle devrait être la taille des dimensions du tableau.
Ne comprends pas comment dire le boucle laquelle des positions du tableau doit être un X et laquelle ne l'est pas.
-
Voici mon idée de code donc far...it ne fait pas vraiment ce qu'il devrait faire :) J'ai pris "1" au lieu de "X", donc je peux le faire avec un tableau int.
Public void drawCross(numéro int){ int i, j; tableau int [] []=nouveau int[40][40];
for(j=1;j<=number;j++){ for(i=1;i<=number;i++){ if(array[i]==array[j]){ array[i][j]=1; System.out.print(array[i][j]+" "); } } System.out.print("\n"); }
}
Merci d'avance. Pete
1 answers
Comme cela ne semble pas vraiment devoir, la solution
int[][] array = new int[number][number];
for (int i = 0; i < number; i++){
for (int j = 0; j < number; j++){
if (i == j || i == number - 1 - j) {
array[i][j] = 1;
}
System.out.print(array[i][j] + " ");
}
System.out.print("\n");
}
-
int[][] a
est la voie conventionnelle.int a[][]
est du sucre syntaxique pour les programmeurs C. - En mathématiques
i
est normalement la ligne, etj
la colonne, donc passé le pour-boucles. - Les tableaux sont indexés à partir de 0.
- La condition devrait dire si l'on est sur l'une des deux diagonales, donc ne concerne que les indices i et j.
-
||
est OU, et&&
est ET (ne devriez-vous pas déjà savoir). - Comme vous le voyez, la matrice
array
n'est pas nécessaire
Donc:
boolean isOnDiagonal = i == j || i == number - 1 - j;
System.out.print(isOnDiagonal ? "X " : ". "); // if-then-else operator.