Java 在不使用布尔运算的情况下,我可以用什么来确定这个数是否为素数?
我们的教授给了我们一大堆要编程的问题。我几乎完成了,直到我读到我最后一次分配给程序的任务,我们不能使用布尔和“for”。除了“for”和“Boolean”之外,我还能用什么来确定这个数字是否为素数?我希望有人会注意到这一点。请帮帮我。提前谢谢。每当您需要检查任何可能性时,响应总是以Java 在不使用布尔运算的情况下,我可以用什么来确定这个数是否为素数?,java,primes,Java,Primes,我们的教授给了我们一大堆要编程的问题。我几乎完成了,直到我读到我最后一次分配给程序的任务,我们不能使用布尔和“for”。除了“for”和“Boolean”之外,我还能用什么来确定这个数字是否为素数?我希望有人会注意到这一点。请帮帮我。提前谢谢。每当您需要检查任何可能性时,响应总是以布尔值的形式出现 如果他对返回的数据类型不是布尔值非常具体,那么您可以返回int(1或0) 循环的替代方法有while、do while或递归 迭代结构的替代方法是递归对于来说,在不使用的情况下解决它的方法是使用递归。
布尔值的形式出现
如果他对返回的数据类型
不是布尔值
非常具体,那么您可以返回int
(1或0)
循环的替代方法有while
、do while
或递归
迭代
结构的替代方法是
递归对于来说,在不使用的情况下解决它的方法是使用递归。如果条件句的使用不算作布尔用法,我认为这是对练习的回答:
public String verify(int num) {
if (num <= 1) {
return IS_NOT_PRIME;
}
if (num )
return isPrime(num, num);
}
}
public String isPrime(int i, int num) {
if (i == 1) {
return IS_PRIME;
}
if (num % i == 0 && i != num) {
return IS_NOT_PRIME;
}
return isPrime(i-1, num);
}
公共字符串验证(int num){
if(num这是一个在不使用布尔和for循环的情况下检查素数的程序:
public class PrimeNumber {
public static void main(String args[]) {
PrimeNumber primeNumber = new PrimeNumber();
int i = 2;
int num = 3;
if (num <= 1) {
System.out.println(num + " is not a prime number");
System.exit(1);
}
while(i <= Math.sqrt(num)) {
if (num % i == 0) {
System.out.println(num + " is not a prime number");
System.exit(1);
}
i++;
}
System.out.println(num + " is a prime number");
} }
公共类素数{
公共静态void main(字符串参数[]){
PrimeNumber PrimeNumber=新PrimeNumber();
int i=2;
int num=3;
if(num您可以使用while循环而不是for循环,如下所示:
public class Prime{
static int i = 2;
public static String prime(int n){
if(n <= 0){
return("Please enter a number greater than 0");
}
while(i < n){
if(n % i == 0){
return(n + " is not prime");
}
i++;
}
return (n + " is prime");
}
}
公共类素数{
静态int i=2;
公共静态字符串素数(int n){
如果(n)问题“如果”意味着一个布尔值,如果只是作为返回值,所以我不太确定你的意思。但听起来你的教授可能建议你使用递归。(通常,当教授要求你做一些你通常会迭代做的事情,但不允许你使用for或while循环时,他们会考虑递归。)另一方面,递归算法需要将基本情况与其他情况分开,这是一个if/else,需要布尔逻辑……所以,我不知道。它说,我们可以使用“if”。你知道不使用“for”得到素数的公式是什么吗?这个程序将为负数提供一个java.lang.StackOverflowerError
。而且(传统上)字符串不应该以下划线开头。它们是用camelCase写的(比如isPrime
和notPrime
,而不是\u IS
和\u IS NOT
。如果字符串是final
的话,你可以大写字符串,如果你想,比如是PRIME
和不是PRIME
。这是真的,当数字可以被除时,返回\u IS
)用4个数字?-13{-13,-1,1,13}。
实际上所有的负数都是素数,根据它的说法:“素数是大于1的整数,它只有两个整数因子是1和它本身。”你所要做的就是让它返回\u是当数字是负数时,整数不包括负数@Tommy