[英]How to Find Prime Number in Java?
你好
我有 java 项目,用户需要输入 int = number 并找到素数。
问题:当我输入 10 时没有打印任何东西。
public class Prime_Numbers {
public static void main(String[] args)
{
// Scanner
Scanner scan = new Scanner(System.in);
// Variables
int num = 10, i = 2;
// Ask User For Input
System.out.println("Please Enter Number: ");
num = scan.nextInt();
while(i <= num/2)
{
if(num % i == 2)
{
System.out.println(num);
break;
}
}
}
}
如果您查看 while 循环中的 if 语句,则不会执行任何内容。 原因是 if 语句的条件:(num % i == 2)。 由于 10%2 不等于 2,因此不会打印任何内容。 相反,它等于 0。如果您要检查 num 是否为偶数,则将 num % i == 2 更改为 num % i == 0。
你可以试试这段代码:
import java.util.Scanner;
public class PrimeNumberExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter number : ");
int number = scanner.nextInt();
boolean flag = false;
for(int count=2; count<number; count++) {
if(number%count == 0) {
flag = true;
break;
}
}
if(!flag) {
System.out.println(number + " is Prime");
} else {
System.out.println(number + " is Not Prime");
}
}
}
也许你可以尝试找到素数代码
public class PrimeExample{
public static void main(String args[]){
int i,m=0,flag=0;
int n=5;//it is the number to be checked
m=n/2;
if(n==0||n==1){
System.out.println(n+" is not prime number");
}else{
for(i=2;i<=m;i++){
if(n%i==0){
System.out.println(n+" is not prime number");
flag=1;
break;
}
}
if(flag==0) {
System.out.println(n+" is prime number");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.