• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaで素数判断プログラム作成しましたが…,)

javaで素数判断プログラム作成しましたが…

このQ&Aのポイント
  • javaで素数判断プログラム作成しましたが,うまく動きません。5行目のint j=1;をint j=2;に変更すれば綺麗に動くのですが,j=1からスタートすると何も表示されずに処理が終わってしまいます。なぜでしょうか。
  • 質問内容は、javaで作成した素数判断プログラムがうまく動かない理由についてです。具体的には、変数jの初期値を1から2に変更すると正しく動作することに気付きましたが、なぜ1からではなく2からスタートする必要があるのか疑問です。
  • 素数判断プログラムの作成に関する質問です。現在、javaで素数判断プログラムを作成しているのですが、変数jの初期値を1から2に変更すると正しく動作することに気付きました。しかし、何故1からではなく2からスタートする必要があるのかが分かりません。教えていただけますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

iが2以上,j=1ならば, if(i%j==0){ の結果はいつも0なので真。 if((i/j) != 1 ){ の結果はいつも2以上なので真であり,j=i+1が実行される。 j=i+1が実行されたなら if(i==j){ は偽となり,System.out.printは実行されない。 さらにj++されるのでjの値はi+2の計算結果となり, while(j <= i){ は偽になるのでwhileループは終了する。 class PrimeNum { public static void main(String[] args){ for (int i = 2; i < 100; i++) { int j; for (j = 2; j < i; j++) { if (i % j == 0) { break; } } if (i == j) { System.out.print(i + " "); } } } }

onaka_suitashi
質問者

お礼

ありがとうございます☆彡

すると、全ての回答が全文表示されます。

関連するQ&A