問題
int型の変数nが0まで1ずつ増減するプログラムを作成せよ。
nが正の場合は減り、負の場合は増えていくこと
解答
public class java01 {
public static void main(String[] args) {
int n = -5;
if (n > 0) {
for(int i = n; i >= 0; i--) {
System.out.println(n);
n -= 1;
}
} else {
for (int i = n; i < 0; i++) {
n += 1;
System.out.println(n);
}
}
}
}
模範解答
public class Exercise_004 {
public static void main(String[] args) {
int n = -5;
if (n > 0) {
for (int i = n; i >= 0; i--) {
System.out.println(i);
}
} else {
for (int i = n; i <= 0; i++) {
System.out.println(i);
}
}
}
}
問題点
1.for文のiの条件式に統一性がない。
2.nをprintlnするよりiをprintlnするべき
感想
nを軸に問題を解いたせいで余計な下記の2行が増えてしまった。
n += 1
n -= 1
今回はコードの量が少ないので問題はないがコード量が多くなるとこういう無駄な処理は
バグの元なので極力シンプルにコーディングするようにしていきたい。