gpt4 book ai didi

Java 素数检查与用户输入

转载 作者:行者123 更新时间:2023-12-03 01:25:22 25 4
gpt4 key购买 nike

我刚刚开始为大学编码,我必须编写一个程序来检查用户输入(整数)是否是质数。

我取得了不错的成绩,但我想征求您的意见以及我是否忘记了什么。

package uebung_3;


import java.util.Scanner;

public class PrimZahlen {

public static void main(String[] args) {

System.out.print("Enter a number: ");
Scanner key = new Scanner(System.in);
int in = key.nextInt();

prim(in);
}

private static void prim(int in) {//int in is a Scanner var.
if (in == 2 || in == 3) {

System.out.println(in + " is a prime number");
} else if (in == 5 || in == 7) {
System.out.println(in + " is a prime number");
} else if (in % 2 == 0 || in % 3 == 0) {
System.out.println(in + " is not a prime number.");
} else if (in % 5 == 0 || in % 7 == 0) {
System.out.println(in + " is not a prime number.");
} else {
System.out.println(in + " is a prime number.");
}
}

}

最佳答案

你可以用更数学的方式来做,而不仅仅是检查素因数 7。这是我的解决方案:

public static void main(final String[] args) {
System.out.print("Enter a number: ");
final Scanner key = new Scanner(System.in);
final int in = key.nextInt();

if (isPrime(in)) {
System.out.println(in + " is a prime number");
} else {
System.out.println(in + " is not a prime number");
}
}

private static boolean isPrime(final int in) {
if (in < 2) return false;

for (int i=2; i <= Math.sqrt(in); i++){
if (in%i == 0){
return false;
}
}
return true;
}

关于Java 素数检查与用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com