Java 在不使用布尔运算的情况下,我可以用什么来确定这个数是否为素数?

Java 在不使用布尔运算的情况下,我可以用什么来确定这个数是否为素数?,java,primes,Java,Primes,我们的教授给了我们一大堆要编程的问题。我几乎完成了,直到我读到我最后一次分配给程序的任务,我们不能使用布尔和“for”。除了“for”和“Boolean”之外,我还能用什么来确定这个数字是否为素数?我希望有人会注意到这一点。请帮帮我。提前谢谢。每当您需要检查任何可能性时,响应总是以布尔值的形式出现 如果他对返回的数据类型不是布尔值非常具体,那么您可以返回int(1或0) 循环的替代方法有while、do while或递归 迭代结构的替代方法是递归对于来说,在不使用的情况下解决它的方法是使用递归。

我们的教授给了我们一大堆要编程的问题。我几乎完成了,直到我读到我最后一次分配给程序的任务,我们不能使用布尔和“for”。除了“for”和“Boolean”之外,我还能用什么来确定这个数字是否为素数?我希望有人会注意到这一点。请帮帮我。提前谢谢。

每当您需要检查任何可能性时,响应总是以
布尔值的形式出现

如果他对返回的
数据类型
不是
布尔值
非常具体,那么您可以返回
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