0
votes

Je n'ai pas toutes les 25 lettres de la dernière ligne

La sortie est affichée dans l'image, J'ai eu la 25ème lettre dans la première ligne.

    public class RandomChar {
      public static void main(String[] args) {
        final int NUMBER_OF_CHARACTERS = 175;
        final int CHARS_PER_LINE = 25;
        for (int i = 0; i < NUMBER_OF_CHARACTERS; i++) {
            char jk = randomVariables('a', 'z');
            if (i  % CHARS_PER_LINE == 0)
                System.out.println(jk);
            else 
                System.out.print(jk);
        }
      }
      public static char randomVariables(char ch1, char ch2) {
        return (char)(ch1 + (int)(Math.random() * (ch2 - ch1 + 1)));
      }
    }


2 commentaires

Notez que vous avez un personnage seul au même sommet; Celui-ci est toujours compté dans votre compte "Number_Of_Caracters". Je pense que peut-être i% caractère_per_line == 0 est vrai plus souvent que vous attendre (comme i = 0)


Veuillez publier n'importe quel texte qui concerne votre question comme texte. L'image ne peut servir que de plus.


3 Réponses :


1
votes
public class RandomChar {
    public static void main(String[] args) {
        final int NUMBER_OF_CHARACTERS = 175;
        final int CHARS_PER_LINE = 25;
        for (int i = 1; i <= NUMBER_OF_CHARACTERS; i++) {
            char jk = randomVariables('a', 'z');
            if (i % CHARS_PER_LINE == 0)
                System.out.println(jk);
            else
                System.out.print(jk);

        }
    }

    public static char randomVariables(char ch1, char ch2) {
        return (char) (ch1 + (int) (Math.random() * (ch2 - ch1 + 1)));
    }
}
You are trying to increase i but the first "if" happens before i++ is executed,
So the condition i%CHARS_PER_LINE==0 at the first loop is true.

0 commentaires

0
votes

Vous obtenez une lettre dans la première ligne car le programme imprimera la lettre avec une nouvelle ligne depuis que je% char_per_line == 0 retourne vrai quand i = 0. Une solution rapide à ce serait Modification de la boucle comme ceci:
xxx


0 commentaires

2
votes

Mauvais frontières pour la boucle, car pour i == 0 La condition i% caractères_per_line == 0 est vrai. En conséquence, la dernière ligne ne contient pas assez de caractères.

Je suggère cette boucle: xxx


0 commentaires