当前位置: 首页 > 知识库问答 >
问题:

不确定我是否正确地编写返回true或false的方法

莘俊能
2023-03-14

因此,作为家庭作业,我的任务是编写包含5种静态方法的代码。其中两人要求提供以下内容:
“编写一个以整数X为参数的方法,如果X为偶数,则返回true;如果X为奇数,则返回false。”

“编写一个以正整数N为参数的方法,如果N是素数,则返回true,否则返回false。假设N

public class MethodSignature {

public static boolean evenCheck(int x){
    if(x % 2 == 0){
        return true;
    }
    else{
        return false;
    }
}

public static boolean primeCheck(int N){
    for(int i=2;i<N;i++){
        if(N % i == 0){
            return false;
        }
    }
    return true;
}

public static void main(String [] args){
    int x = 3;
    int N = 5;
    System.out.println(evenCheck(x));
    System.out.println(primeCheck(N));
    }
}  

我不清楚我是否需要打印出正确或错误的方法。在我将println添加到方法调用之前,它们显然没有打印。所以我想我有两个问题:布尔方法必须打印true/false才能返回true-false吗?如果有人特别要求我这么做,我是不是用最简单/最有效的方法?还是我错过了什么?

非常感谢你们
D

共有3个答案

习阳
2023-03-14

打印和返回是两件不相关的事情。打印用于通知用户某事;

public static boolean evenCheck(int x){
    if(x % 2 == 0){
        System.out.println(x + " is even");
        return true;
    } else {
        System.out.println(x + " is odd");
        return false;
    }
}

我已经修改了您的evenCheck()方法,以通知用户x的值是偶数还是奇数。打印输出不是强制性的,如果删除它也不会以任何方式影响代码,它纯粹是为了通知目的

由于使用返回类型boolean-public static boolean evenCheck(int x)定义了该方法,因此必须包含true或false的返回值

惠野
2023-03-14

这里要提到的一点是,命名很重要。让我通过快速重新编写一些代码来向您展示我的意思:

public static boolean isEven(int x){
  if(x % 2 == 0){
    return true;
  }
  return false;
}

关键是:该方法名已经表明该方法将告诉您所提供的参数是否为偶数。

但回到你的问题:如果一个方法做了某种记录或跟踪,这一事实与该方法实际做的事情是正交的。意思:上面的isEven方法可以告诉你一个数字是否是偶数。如果您认为这个方法还可以打印某物/某处,那么您只需将这样的代码添加到您的方法中。

换句话说:我们无法告诉你什么样的打印语句对你有帮助!因此——你的代码,你的决定。

当从“现实世界”的角度看待事物时,这样的跟踪语句一方面可能是必不可少的;但另一方面,人们也会有很多好的单元测试来帮助快速调试问题;因此,这样的跟踪打印不是“必须拥有的”!

姚宪
2023-03-14

来回答你的问题

:布尔方法是否必须打印true/false才能返回true-false?

不,这种情况永远不会发生,将来也不会发生。但是你是对的,声明返回类型的方法必须在主体中返回相同的类型。

例如。

public boolean getBooleanValue(); // has to return a boolean   
public void getBooleanValue; // does not return anything, but has a misleading methodname

在这两种方法中,您仍然可以打印任何内容。两者都与对方无关。

 类似资料:
  • 问题内容: 如果某些列返回FALSE,如何显示不同的值, 例如, COLUMN“ BASIC”返回FALSE,但我需要为用户显示YES或NO。情况为FALSE,请返回NO。 问题答案: 如果是varchar或bit,则处理NULL 或者如果只是一点点 编辑:

  • 问题内容: 我正在创建一个小型Java Jpanel游戏,其中应该有一个火箭,它通过箭头上下移动,并通过太空射击。 触发方法应按以下方式工作:按下空格键,东西触发并在屏幕上移动,然后当它碰到某个x时,它就会消失。此外,您只能发射一次,直到另一颗子弹消失为止。 我不知道我在做什么错。首先,在我的代码启动后,您会看到子弹在屏幕上飞舞。 2,子弹没有消失。 第三,即使其他子弹仍然可见,它也允许我再次开火

  • 无论如何,这个公式是否可以修改为返回,例如:找到单词“哇”,并将该单词返回到单元格中,而不是true/false? 谢谢。

  • 我正在编写一个名为Launchable的界面。Launchable接口指定了三个方法:launch(),不带参数且不返回值;isAbleToFly(),不带参数且不返回true或false;以及land(),不带参数且不返回值。 这是我为isAbleToFly尝试的: 但它说非法启动类型返回真的吗?

  • 问题内容: 这怎么可能? 这是 您会看到它应该在这里: 到底是怎么回事? 问题答案: (此答案中的代码已针对Swift 3及更高版本进行了更新。) 显然,您的变量是a (描述文件路径)。要以字符串形式获取路径,请使用属性,而不是: 以字符串格式(包括方案等)返回URL 。 例:

  • 我有一个返回true或false的switch语句和一个if-and-else语句,然后我使用它进行更多验证。 因为该值正在使用ajax在输入字段上发送。我希望PHP返回true或false。 我已经用JSON试过了,我用一个警告来测试我得到了什么,它只是一大堆html。 AJAX 当你看到警报(数据)时,我将用它替换它 我的代码不会从php返回真或假,在警报中,它只是从我的索引页输出了很多htm