課題はこちら
if (0<=sec && sec<20) {
out.printf("<font color='red'>");
}
if (20<=sec && sec<40) {
out.printf("<font color='green'>");
}
if (40<=sec && sec<60) {
out.printf("<font color='blue'>");
}
あるいは、
if (0<=sec && sec<20) {
out.printf("<font color='red'>");
} else if (20<=sec && sec<40) {
out.printf("<font color='green'>");
} else if (40<=sec && sec<60) {
out.printf("<font color='blue'>");
}
のような条件文を書いている人が多かったが、これは必要のない 比較を何度もしていて効率が悪く、間違いの入り込み易い形である。 secは0以上60未満とわかっているので、 次の書き方で良い。
if (sec<20) {
out.printf("<font color='red'>");
} else if (sec<40) {
out.printf("<font color='green'>");
} else {
out.printf("<font color='blue'>");
}
出力されるHTMLファイルがおかしくなる解答がある。
bodyタグが2つある<body> <body background='...'> </body>bodyタグが2つある
<body> </body> <body background='...'> </body>タグが入れ子になっていない。
<font color='red' > <body background='...'> </font> </body>
たいていのブラウザはこの程度の間違いは許容してくれるが、保証の限りではない。
今回は OKとしたが、次回以降は間違いとする。 必ず、出力されるHTMLの中身(ソース)を確認しておくこと。
ものすごくばかばかしい書き方
if (i==0) {
out.println("<img src='0.png' alt='0'>");
} else if (i==1) {
out.println("<img src='1.png' alt='1'>");
} else if (i==2) {
out.println("<img src='2.png' alt='2'>");
} else if (i==3) {
out.println("<img src='3.png' alt='3'>");
} else if (i==4) {
out.println("<img src='4.png' alt='4'>");
} else if (i==5) {
out.println("<img src='5.png' alt='5'>");
} else if (i==6) {
out.println("<img src='6.png' alt='6'>");
} else if (i==7) {
out.println("<img src='7.png' alt='7'>");
} else if (i==8) {
out.println("<img src='8.png' alt='8'>");
} else if (i==9) {
out.println("<img src='9.png' alt='9'>");
}
をしている人がいる。
out.println("<img src='"+i+".png' alg='"+i+"'>");
あるいは
out.printf("<img src='%d.png' alt='%d'>%n", i, i);
の1行で済む。