キーボードから整数の階乗を入力し、結果を表示する while文使用
追加練習問題13
入力された整数の階乗(その整数から1までのすべての整数をかけた値。例えば、5の階乗については、5! = 5×4×3×2×1 = 120 となる。)を求めるプログラムをwhile文を用いて作成する。
マイナスの数が入力された場合は、再入力を促す。
実行画面
正の整数を入力してください > -1【enterキー】
0以下の数は入力しないでください。
正の整数を入力してください > 0【enterキー】
0以下の数は入力しないでください。
正の整数を入力してください > 5【enterキー】
5 の階乗は 120 です。
解答例
import java.io.*;
public class ren00_13{
public static void main(String args[]) throws IOException {
int i, n, ans;
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("正の整数を入力してください > ");
n = Integer.parseInt(br.readLine());
//nが0以下の場合は再入力を促し続ける
while(n<=0) {
System.out.println("0以下の数は入力しないでください。");
System.out.print("正の整数を入力してください > ");
n = Integer.parseInt(br.readLine());
}
ans = 1;
i = n;
while(i>=1) {
ans *= i;
i--;
}
System.out.println(n + " の階乗は " + ans + " です。");
}
}
キーボードから整数の階乗を入力し、結果を表示する while文使用関連ページ
- 計算結果を画面に表示するプログラム
- キーボードから実打ち、和を表示する
- キーボードから整数を入力し、和、差、積を表示する
- キーボードから入力し、条件によって表示を変更する if構文
- キーボードから入力した整数が、偶数か奇数を表示する if構文を使用
- キーボードから入力し、大小を比較表示する if構文
- キーボードから整数を入力し、整数の合計表示する do-while文使用
- キーボードから実数の絶対値(+、−の符号を除いた値)を入力表示 if構文を使用
- キーボードから入力し、最大値を表示する if構文を使用
- キーボードから入力し、小さい順に表示する if構文
- キーボードから秒数を入力し、カウントダウンを表示する while文を使用
- キーボードから整数を入力し、合計を表示する while文使用
- べき乗を求めるプログラム while文を使用
- for文を用いて、画面表示
- キーボードから入力し、カウントアップする for文do-while文使用
- キーボードから整数を入力し、越えるまで和を求める for文do-while文使用
- キーボードから整数を入力し、越えるまでべき乗を求める for文do-while
- キーボードから入力された個数だけ文字列を作成する for文do-while文使用
- キーボードから入力の文字列を表示した後で、繰り返すdo-while文使用
- 乱数(ランダムな整数)を発生させ、キーボードから整数の入力、大小を表示、再入力 do-while文使用
- キーボードから入力した年齢によって、表示が変わる if文を使用
- キーボードから2つの整数を入力、大小関係を表示する if文を使用
- キーボードから3つの整数を入力、等しいか異なるかを表示 演算子を使用
- 三角形辺の長さ入力、三角形が存在有無を表示する 演算子使用
- キーボードから入力した3つの整数値の大小関係を表示する if構文使用
- キーボードから入力した点数で評価を表示する if文 演算子使用
- 最高血圧と最低血圧を入力し、状態を表示する if文 演算子使用
- 電気使用量[kWh]を入力すると、電気料金を表示する if文使用
- キーボードから入力し、大小を比較表示する if構文(コピー)