ある整数のすべての整数の合計の計算結果を戻り値として返すメソッドを、再帰呼び出しを用いて作成、このメソッドを利用して、キーボードから読み込んだ整数から0までのすべての整数の合計を表示

ある整数のすべての整数の合計の計算結果を戻り値として返すメソッドを、再帰呼び出しを用いて作成、このメソッドを利用して、キーボードから読み込んだ整数から0までのすべての整数の合計を表示

追加練習問題72

ある整数nから0までのすべての整数の合計をsum(n)とすると、

sum(n) = n + (n-1) + (n-2) + ・・・ + 2 + 1 + 0 = n + sum(n-1)
であることから、この計算結果を戻り値として返すメソッドpublic static int sum(int n) を、再帰呼び出しを用いて作成してください。そして、このメソッドを利用して、キーボードから読み込んだ整数から0までのすべての整数の合計を表示してください。

 

※ nの値がマイナスの場合については、考え方が少し異なります。

 

実行画面

整数 > 10 【enterキー】

10から0までの和は55です。

整数 > -10【enterキー】

-10から0までの和は-55です。

解答例

import java.io.*;

 

public class ren00_72 {
public static void main(String[] args) throws IOException
{
int a;

 

BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

 

System.out.print("整数 > ");
a = Integer.parseInt(br.readLine());

 

System.out.println(a + "から0までの和は" + sum(a) + "です。");
}

 

public static int sum(int n) {
if(n==0) return 0;
else if(n > 0) return n + sum(n-1);
else return n + sum(n+1);
}

 

}

 

ある整数のすべての整数の合計の計算結果を戻り値として返すメソッドを、再帰呼び出しを用いて作成、このメソッドを利用して、キーボードから読み込んだ整数から0までのすべての整数の合計を表示関連ページ

int型変数の値を返すメソッドを定義して、キーボードから入力された2つの整数のうち、小さい方の数を表示する
3つのint型変数最も大きい値を返すメソッドを定義して、キーボードから入力された3つの整数のうち、最大数を表示
キーボードから入力された2つの整数の間にある整数(入力された2つの値を含む)の合計を表示するプログラム
int型整数nを3乗した値を返す関数を定義して、キーボードから入力された整数を3乗した値を表示するプログラム
2つのint型変数の和を返すメソッドと差を返すメソッドを定義して、キーボードから入力された2つの整数の和と差を表示するプログラム
2つの引数に対して、値をそれぞれクラス変数に代入するメソッドを定義して、キーボードから入力された2つの整数の和と積を表示するプログラム
引数に対して、割った商・余りをそれぞれクラス変数に代入するメソッドを定義して、キーボードから入力された整数を割った商と余りを表示するプログラム
キーボードから入力された整数から2を引いた値を表示するプログラムを、メソッドを使用する
引数の内容を引数の回数だけタテに表示する(表示して改行する)メソッドを作成
キーボードから2つの整数と計算の種類 和または積を入力させ、その計算結果を表示するプログラム
キーボードから計算で扱う数の種類 整数または実数と2つの数を入力させ、その差の計算結果を表示するプログラム メソッド使用