Kann mir bitte jemand erklären, wie der Modul funktioniert, wenn Sie eine Reihe von Zahlen pro Zeile wie im unten angegebenen Code drucken möchten? Ich weiß nur, dass die Rolle des Moduls darin besteht, den Rest einer Zahl anzugeben, und das war es auch schon. Ich würde gerne wissen, welchen Prozess es durchläuft.
int []arrayLoterry= new int[50];
String output="";
for(int i=0;i<arrayLoterry.length;i++){
arrayLoterry[i]=(int) Math.floor(Math.random()*49)+i;
output+=arrayLoterry[i]+" ";
if(i%10==9){
output+="\n";
}
}
System.out.println(output);
Diese Aussage:
if(i%10==9){
output+="\n";
}
Sagt: "Wenn i
durch 10 geteilt bleibt der Rest von 9, fügen Sie "\n" (das ist eine neue Zeile) zur Variablenausgabe hinzu.
Moduli dividiere einfach die erste Zahl durch die zweite und gib den Rest an. Beispiele unten:
10%3 = 1
20%2 = 0
7%4 = 3
In Ihrem Fall beginnt dies nach jeweils 10 Zahlen eine neue Lüge. Sie denken vielleicht: Warum ändern Sie diese Aussage nicht in if(i%10 == 0)
? Der Grund dafür ist, i%10 == 9
dass die Schleife bei i
der ersten Ausführung den Wert 0 enthält. Wenn sie also den Modulus durchläuft, ist die Antwort 0, was nach der ersten Ausführung der Schleife eine neue Zeile erzeugt.
Da Java 0, 1, 2 zählt wie wir 1, 2, 3 zählen, müssen wir den Zeilenumbruch nach allem machen, was mit 9 endet. Eine neue Zeile beginnt also nach dem 9. (10. für uns), 19. (20. für uns) ), 29. (30.), 39. (40.) und 49. (50. und letzte) Zahl ausgegeben.
Dieses Diagramm zeigt, wie Java zählt und wie wir zählen.
Java | 0 1 2 3 4 5 6 7 8 9
----------------------------
Us!! | 1 2 3 4 5 6 7 8 9 10
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen