新人の時に作ったプログラムを、2年目になった今作ってみました。
今日はfor文。
結論
何年たってもfor文が苦手
問題
- ソースファイル名「Check31.java」
- 10から20までの和などのように、指定した任意の2数間の和を求め出力するプログラムを作成してください
- その他の詳細は以下の実行結果を参考にしてください
1つめの数値を入力してください>
10
2つめの数値を入力してください>
20
10から20までの和は、165です
実装
以下のように作りました。
Check31.java
package practice;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Check31 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("1つ目の整数を入力してください");
String line;
try {
line = reader.readLine();
int num1 = Integer.parseInt(line);
System.out.println("2つ目の整数を入力してください");
line = reader.readLine();
int num2 = Integer.parseInt(line);
int answer = calc(num1,num2);
System.out.println(num1 + "から" + num2 + "までの和は、" + answer + "です");
} catch (NumberFormatException e) {
System.out.println("整数を入力してください");
} catch (IOException e) {
e.printStackTrace();
}
}
private static int calc(int num1, int num2) {
int sum = 0;
for (int i = num1; i <= num2; i++) {
sum = sum + i;
}
return sum;
}
}
感想
ここにいたるまでに、和が11になったり、21になったり、175になったり、22527になったり。。
for文苦手。一発でfor文を完成させられるようになりたい。。