我试图找出一个数字是否是素数,但错误抛出"The operator && is undefined for the argument type int int"


public class prime {
public static void main(String[] args) {
int a=2;

if (a/=2  && a/=1)
System.out.println(a + "is a prime number");
else
System.out.println(a +"is not a prime number");

}
}

p。S-这是我自己写的第三个代码!!不确定从概念上讲,我是否在寻找答案的正确道路上…如果你能帮助我,我将非常感激。

运算符&&(逻辑与)是一个短路逻辑布尔运算符。你需要布尔表达式来使用它。/=是除法和赋值的简写。a /= 2a = a / 2。这不是一个布尔表达式,所以不能使用&&运算符。

关于/=等赋值运算符和&&等逻辑运算符的概要,值得查看这里和这里的文档。

  1. 您将需要"%"检查数是否被完全除除。"%";是余数运算符,如果余数等于0,则该数被整除。

  2. 可能你误解了任务。你需要检查数字是否不能完全整除。这个数只能被自己和1整除。所以你需要检查number是否被所有较小的正数整除(对于n,它将是n-1,…, 2,如果你考虑2,那么你从2 - 1开始,所以你从1开始,1 <2,所以你不检查任何数字)。如果你发现至少有一个这样的数能完全整除你的数,那么你的数就不是素数。如果找不到,那么你的数就是质数。例如,当n = 7时,你需要检查7是否被6 5 4 3 2整除。它将是7%6 == 1,7% 5 == 2,7% 4 == 3,…(你不会得到7% X == 0,不存在这样的X,所以7是质数)当n = 8时,你需要检查7 6 5 4 3 2。它将是8% 7 == 1,8 % 6 == 2,8 % 5 == 3,8 % 4 == 0(你发现8% X == 0,它将是4和2,到8不是素数)

if(n % 2 == 0) {
System.out.println(n + "is divide completely by 2");
} else {
System.out.println(n + "is not divide completely by 2");
}
int x = 7;
int y = 5;
System.out.println("remainder of dividing x by y is "+(x % y));

相关内容

  • 没有找到相关文章

最新更新