はじめに
この実験では、Java である数が別の数で割り切れるかどうかをチェックする方法を学びます。割り算の余りがゼロであるかどうかを確認することで、割り切れるかどうかを判断するために剰余演算子 (%) の使用を調べます。
異なる数と除数で剰余演算子を使用する練習を行い、また、Java プログラムでエラーを防ぐためにゼロで割るという特殊なケースを処理する方法も学びます。
剰余演算子を使った割り切れ判定
このステップでは、Java で剰余演算子 (%) を使用して割り切れるかどうかを確認する方法を調べます。剰余演算子は割り算の余りを返します。割り算の余りが 0 の場合、その数は除数で完全に割り切れることを意味します。
これを実証するために、新しい Java プログラムを作成しましょう。
左側のファイルエクスプローラーで
~/projectディレクトリを開きます。~/projectディレクトリ内の空白部分を右クリックし、「新しいファイル」を選択します。新しいファイルの名前を
DivisibilityCheck.javaにします。コードエディターで
DivisibilityCheck.javaファイルを開きます。次のコードをエディターにコピーして貼り付けます。
public class DivisibilityCheck { public static void main(String[] args) { int number = 10; int divisor = 2; // Use the modulo operator to check for divisibility if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); } number = 11; divisor = 3; if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); } } }新しい部分を見てみましょう。
int number = 10;: これはnumberという名前の整数型変数を宣言し、それに値 10 を代入します。int divisor = 2;: これはdivisorという名前の整数型変数を宣言し、それに値 2 を代入します。number % divisor: これは剰余演算です。numberをdivisorで割ったときの余りを計算します。if (number % divisor == 0): これはif文です。剰余演算の結果が 0 と等しいかどうかをチェックします。もし等しければ、ifブロック内のコードが実行されます。else:if文の条件が偽の場合(余りが 0 でない場合)、elseブロック内のコードが実行されます。
ファイルを保存します(Ctrl+S または Cmd+S)。
WebIDE の下部にあるターミナルを開きます。
~/projectディレクトリにいることを確認します。もしそうでなければ、cd ~/projectと入力して Enter キーを押します。次のコマンドを入力して Enter キーを押し、Java プログラムをコンパイルします。
javac DivisibilityCheck.javaエラーがなければ、何も出力は表示されません。
~/projectディレクトリにDivisibilityCheck.classファイルが作成されます。次のコマンドを入力して Enter キーを押し、コンパイルされた Java プログラムを実行します。
java DivisibilityCheck次の出力が表示されるはずです。
10 is divisible by 2 11 is not divisible by 3
この出力は、私たちのプログラムが剰余演算子を正しく使用して割り切れるかどうかを確認したことを確認します。
異なる除数でテストする
前のステップでは、10 が 2 で割り切れるか、11 が 3 で割り切れるかを確認しました。では、プログラムを修正して、異なる数と除数でテストし、剰余演算子がどのように動作するかを見てみましょう。
DivisibilityCheck.javaファイルがまだ開いていない場合は、WebIDE のエディターで開きます。mainメソッドにいくつかの例を追加しましょう。mainメソッドの閉じ括弧}の 前 に次のコード行を追加します。System.out.println("\nTesting with different numbers:"); number = 15; divisor = 5; if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); } number = 20; divisor = 7; if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); } number = 100; divisor = 10; if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); }numberとdivisorに異なる値を設定した 3 つの新しいチェックを追加しました。System.out.println("\nTesting with different numbers:");の行は、出力をわかりやすくするために空行と見出しを追加するだけです。修正した
DivisibilityCheck.javaファイルを保存します(Ctrl+S または Cmd+S)。ターミナルを開き、
~/projectディレクトリにいることを確認します。更新された Java プログラムをコンパイルします。
javac DivisibilityCheck.java再び、コンパイルが成功すると、何も出力が表示されません。
コンパイルされたプログラムを実行して、新しいテストケースの結果を見ましょう。
java DivisibilityCheckこれで、前のステップの出力の後に、新しいテストケースの出力が表示されるはずです。
10 is divisible by 2 11 is not divisible by 3 Testing with different numbers: 15 is divisible by 5 20 is not divisible by 7 100 is divisible by 10
これらのテストケースを追加することで、剰余演算子がある数が別の数で完全に割り切れるかどうかを正しく識別する方法がわかります。これは、偶数または奇数のチェックや、定期的な間隔でアクションを実行するなど、多くのプログラミングタスクで使用される基本的な概念です。
ゼロ除算の処理
数学では、ゼロ除算は定義されていません。プログラミングにおいて、ゼロで割る(または除数としてゼロを使用して剰余演算を行う)試みは、通常エラーを引き起こします。プログラムがクラッシュするのを防ぐために、この状況をコードで処理することは重要です。
DivisibilityCheck.java プログラムを修正して、ゼロ除算のチェックを追加しましょう。
WebIDE のエディターで
DivisibilityCheck.javaファイルを開きます。除数が 0 の新しいテストケースを追加します。
mainメソッドの閉じ括弧}の 前 に次のコードを追加します。System.out.println("\nTesting division by zero:"); number = 10; divisor = 0; if (divisor == 0) { System.out.println("Error: Division by zero is not allowed."); } else if (number % divisor == 0) { System.out.println(number + " is divisible by " + divisor); } else { System.out.println(number + " is not divisible by " + divisor); }追加した部分は次の通りです。
if (divisor == 0): これは新しいif文で、divisor変数が 0 と等しいかどうかをチェックします。System.out.println("Error: Division by zero is not allowed.");: 除数が 0 の場合、この行はエラーメッセージを出力します。else if (number % divisor == 0): これはelse if文です。最初のif条件 (divisor == 0) が偽の場合にのみチェックされます。ここでは、除数がゼロでない場合にのみ剰余チェックを行います。
修正した
DivisibilityCheck.javaファイルを保存します。ターミナルを開き、
~/projectディレクトリにいることを確認します。更新された Java プログラムをコンパイルします。
javac DivisibilityCheck.javaコンパイルされたプログラムを実行します。
java DivisibilityCheck前のステップの出力の後に、ゼロ除算のテストケースの出力が表示されるはずです。
10 is divisible by 2 11 is not divisible by 3 Testing with different numbers: 15 is divisible by 5 20 is not divisible by 7 100 is divisible by 10 Testing division by zero: Error: Division by zero is not allowed.
if (divisor == 0) のチェックを追加することで、除数がゼロの場合の潜在的なエラーを防ぎ、プログラムをより堅牢にしました。これは信頼性の高いコードを書く上で重要な側面です。
まとめ
この実験では、Java で剰余演算子 (%) を使用してある数が別の数で割り切れるかどうかをチェックする方法を学びました。Java プログラム DivisibilityCheck.java を作成し、if 文を使用して除算の余り (number % divisor) が 0 と等しいかどうかをチェックしました。余りが 0 の場合、その数は除数で割り切れます。割り切れる場合と割り切れない場合の例を用いてこれを実証しました。



