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:

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

Author: Uooo, 2013-07-02

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");
}
  1. int[][] a est la voie conventionnelle. int a[][] est du sucre syntaxique pour les programmeurs C.
  2. En mathématiques i est normalement la ligne, et j la colonne, donc passé le pour-boucles.
  3. Les tableaux sont indexés à partir de 0.
  4. La condition devrait dire si l'on est sur l'une des deux diagonales, donc ne concerne que les indices i et j.
  5. || est OU, et && est ET (ne devriez-vous pas déjà savoir).
  6. 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.
 2
Author: Joop Eggen, 2013-07-02 10:29:10