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)));
}
}
3 Réponses :
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.
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 fort> quand i = 0. Une solution rapide à ce serait Modification de la boucle comme ceci:
Mauvais frontières pour la boucle, car pour Je suggère cette boucle: p> i == 0 code> La condition i% caractères_per_line == 0 code> est vrai. En conséquence, la dernière ligne ne contient pas assez de caractères.
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 code> 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.