Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellでフィボナッチ数列を実装する方法を解説

JShellとは?

JShellは、Java 9で導入されたJavaシェルツールです。Javaコードを入力すると、その結果を即座に表示してくれるため、コードの動作確認や学習に非常に便利なツールとなっています。

JShellはREPL(Read-Evaluate-Print-Loop:読み込み・評価・出力・ループ)と呼ばれる仕組みを採用しており、コマンドラインから直接実行できます。クラスやmainメソッドを定義しなくても、単独の文や式を手軽に試せるのが大きな特徴です。

フィボナッチ数列とは

フィボナッチ数列とは、「各項が直前の2つの数の」という規則で構成される数列のことです。具体的には以下のような数列になります。

0, 1, 1, 2, 3, 5, 8, 13, 21, ...

つまり、3番目以降の各数値は、その前の2つの数値を足し合わせたものになります。この規則は数学だけでなく、プログラミングの学習においても再帰処理やループ処理の定番の題材としてよく使われています。

JShellでフィボナッチ数列を実装する

それでは、実際にJShellを使ってフィボナッチ数列を実装してみましょう。まず、ターミナルまたはコマンドプロンプトでjshellコマンドを実行してJShellを起動します。

C:\Users\User>jshell
|  Welcome to JShell -- Version 9.0.4
|  For an introduction type: /help intro

jshell> int x=0, y=1, z=0, count=5;
x ==> 0
y ==> 1
z ==> 0
count ==> 5

jshell> {
...>       System.out.println(x+"\n"+y);
...>       for(int i=0; i<count; i++) {
...>          x=y; y=z;
...>          z = x+y;
...>          System.out.println(z);
...>       }
...>   }
0
1
1
2
3
5
8
jshell>

コードの解説

上記のコードでは、以下の手順でフィボナッチ数列を生成しています。

  • x = 0, y = 1:数列の最初の2つの値を初期化します。
  • z = 0, count = 5:計算結果を格納する変数と、繰り返し回数を設定します。
  • まずxyの初期値「0」と「1」を出力します。
  • forループ内で、x=y; y=z;によって変数を入れ替えながら、z = x + yで次のフィボナッチ数を計算します。
  • 計算した値を順番に出力していきます。

実行結果について

実行結果として「0, 1, 1, 2, 3, 5, 8」が出力されています。これは、初期値の2つ(0と1)に加えて、ループ5回分の計算結果(1, 2, 3, 5, 8)が表示されているためです。それぞれの数値が直前の2つの数の和になっていることが確認できますね。

まとめ

JShellを使えば、わずか数行のコードでフィボナッチ数列を簡単に実装できます。ファイルを作成してコンパイルする必要がないため、アルゴリズムの動作確認やJavaの文法の学習に最適です。ぜひ、さまざまなロジックをJShellで気軽に試してみてください。

  1. Java SwingのJButtonでHTMLテキストを実装する方法

    JButtonはAbstractButtonのサブクラスであり、Java Swingのコンポーネント階層において非常に重要な役割を担うクラスです。JButtonは、ログイン画面を持つアプリケーションなど、ユーザーに操作を促す場面で広く利用されています。ボタンを押下・クリックすると、ActionListenerインターフェースを通じてアクションイベントが発生し、それに応じた処理を実行できます。また、JButtonにはテキストのみ、アイコンのみ、あるいはテキストとアイコンの両方を設定することが可能です。さらに便利な点として、ボタンのラベルにHTMLタグを使用できるため、太字(bold)や斜体(it

  2. Javaでカウンタープログラムを実装する方法をわかりやすく解説

    この記事では、JavaのSwingを使ってシンプルなカウンター(数を数える)アプリケーションを実装する方法を解説します。このプログラムでは、JLabelでカウント用のラベルを表示し、JTextFieldで現在のカウント値を保持し、JButtonで「追加(Add)」「削除(Remove)」「リセット(Reset)」の3つのボタンを作成します。 「Add」ボタンをクリックするとJTextField内のカウントが1ずつ増加し、「Remove」ボタンをクリックすると1ずつ減少します。さらに「Reset」ボタンをクリックすると、カウントは0にリセットされます。 実装例 import java.awt.*