package Sampleprogram;
public class Onsen {
public static void main(String args[]) {
int x = 15;
for (int i = 1; i <= x; i++) {
if ((i % 8) == 0) {
System.out.print("温泉行きたい");
} else {
System.out.print("こんばんは");
}
System.out.println();
}
}
}
のようなプログラムがあります。これの出力結果は、
-------
こんばんは
こんばんは
こんばんは
こんばんは
こんばんは
こんばんは
こんばんは
温泉行きたい
こんばんは
・
・
・
-------
なのですが。
if ((i % 8) == 0) {
System.out.print("温泉行きたい");
の箇所の意味が判らないです。
なぜこのように入れると、8番目の文字列だけ「温泉行きたい」に変わるのでしょうか?
Javaの本を探しても、該当箇所が見つからず…納得のいく説明をいただけますと助かります。よろしくお願いします。
%は剰余を求める演算子なので
8で割ったあまりがゼロ=8番目となります
ループが15回なのでこの場合はi == 8と書くほうがいいと思いますが
8の倍数で「温泉へ行きたい」と表示するってサンプルのほうが分かりやすいですね
https://www.javadrive.jp/start/ope/index1.html