LoginSignup
1
0

More than 5 years have passed since last update.

Javaで素数判定プログラムを書きました

Posted at

Javaで素数判定

昨日から本格的にJavaの講義を受けていて、do-while文まで学習したあたりで
素数判定プログラムを書いてみることになったので、その備忘録です。

Sosu.java
package sample;

import java.util.Scanner;

public class Sosu {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int num;
        boolean b = true;

        while (true) {
            System.out.println("素数判定");
            System.out.print("2以上の整数を入力してください:");
            num = sc.nextInt();

            if (num < 2) {
                System.out.println("2未満の整数です。");
            } else {
                break;
            }
        }
        if (num == 2) {
            System.out.println(num + "は素数です。");
        } else {
            for (int i = 2; i < num; i++) {
                if (num % i == 0) {
                    System.out.println(num + "は素数ではありません。");
                    b = false;
                    break;
                }
            }
            if (b) {
                System.out.println(num + "は素数です。");
            }
        }
    }

}

内容

  1. while文で入力内容が2未満であるものを弾いて再入力させる。
  2. while文をbreakで脱出し、入力が2以上であるものをif文で判定。
  3. 入力が2のときは素数。
  4. 入力が2より大きいときは、2以上num未満の数で順に割っていってどこかで割り切れたら素数ではない。
  5. 割り切れなかったものは素数。最後の判定はbooleanで判定。

コメント

正直もっといいやり方はありそうなので、この先学んでいってもし思いついたら訂正します。
また、現在の形のままここをこうした方がいい、などアドバイスがあれば教えてもらえると嬉しいです。

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0