JAVAの勉強をしてます
練習問題で、素数判定のプログラムをしているのですが。
1~14までの判定はうまくいきますが、15の判定の時に素数であると表示されて困ってます。どなたかわかりませんか?
//読み込んだ数字 n が 15 の場合
if(n == 1)
System.out.println("素数ではありません。");
if(n == 2)
System.out.println("素数です。");
for (int i = 2; i < n; i++) {
if (n % i == 0) {
System.out.println("素数ではありません。");
break;
} else {
System.out.println("素数です。");
break;
}
}
--結果----------------------------------------------
素数です
No.4ベストアンサー
- 回答日時:
簡単に直すには、判定と出力のロジックを分ければよいのです。
for分のところだけ
boolean issosu = true;
for (int i=2; i<n ; i++) {
if (n % i == 0) {
issosu = false;
break;
}
}
if (issosu) {
System.out.println("素数です。");
} else {
System.out.println("素数ではありません。");
}
ご回答ありがとうございます。
boolean型の変数まだ使ったことがなかったので、その方法は思いつきませんでした。
無事解決しました。
No.3
- 回答日時:
if文の中が真だろうが偽だろうがbreakに行っちゃいますね。
for文が全てのiについて余りが0でなかったら"素数です"と表示するように直せば良さそうですね。
この回答への補足
ご回答ありがとうございます。
違いがわかりました、素数でないときにのみbreakで抜けれるようにしましたが、
結果だけを表示するにはどのようにしたらいいでしょうか。
if(n == 1)
System.out.println("素数ではありません。");
if(n == 2)
System.out.println("素数です。");
for (int i = 2; i < n; i++) {
if (n % i == 0) {
System.out.println("素数ではありません。");
break;
} else {
System.out.print("");
}
}
System.out.println("素数です。");
No.2
- 回答日時:
繰り返しのiで割ったあまりが0なら素数ではない、というのは正しい。
が、逆に「あまりが0でなければ素数」ではない。「すべての繰り返しで、あまりが0でない」場合が、素数だ。違いがわかるだろうか?
この回答への補足
ご回答ありがとうございます。
違いがわかりました、以下のように変更してみましたが、素数でないときはすぐにbreakで抜けれますが、
結果だけを表示するにはどのようにしたらいいでしょうか。
if(n == 1)
System.out.println("素数ではありません。");
if(n == 2)
System.out.println("素数です。");
for (int i = 2; i < n; i++) {
if (n % i == 0) {
System.out.println("素数ではありません。");
break;
} else {
System.out.print("");
}
}
System.out.println("素数です。");
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Ruby vscode 文字化け 1 2022/05/21 19:17
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Java Java・配列の問題です。 int 「」nums = new int「5」 ⤴︎ この5の事を言葉で 2 2023/06/21 22:30
- C言語・C++・C# C言語 3 2022/11/09 13:27
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
JAVAのDouble型の小数点以下の...
-
構文解析中にファイルの終わり...
-
java教えてください。
-
EclipseでJava
-
「続行するには何かキーを押し...
-
IPアドレスから組織やプロバイ...
-
曜日の取得方法を教えて下さい!
-
JAVAのエラーの意味が分かりま...
-
改行の判定方法
-
ファイル名に変数を使う(Java)
-
JAVA 三角形の判定
-
DOMで要素の値がNULL
-
データベースに接続できません。
-
JAVA 文字色変更
-
java int integer
-
掛け算九九の表示の仕方。
-
LC発振回路-ループ利得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
-
改行の判定方法
-
EclipseでJava
-
JAVAのDouble型の小数点以下の...
-
Javaでカレントディレクトリを...
-
文字列の引き算
-
JAVA 文字色変更
-
Javaのプログラムがどうしても...
-
エクセルマクロ文で、赤文字セ...
-
java シンボルが見つかりません...
-
java int integer
-
配列を後ろから数えるには?
-
java.util.zipで作成したアーカ...
-
JAVAのエラーの意味が分かりま...
-
会員情報登録プログラムの作成...
-
nullcline
-
コマンドプロンプトでひらがな...
-
NaNではなく、0と表示させたい
おすすめ情報