当前位置: 首页 > 面试题库 >

如何编写返回多种数据类型值的Java函数?

舒阳州
2023-03-14
问题内容

例如,我要创建一个可以返回任何数字(负数,零或正数)的函数。

但是,基于某些异常,我希望函数返回 Boolean FALSE

有没有一种方法可以编写可以返回int 的函数Boolean

好的,因此收到了很多答复。我知道我只是在错误地解决问题,因此我应该throw在方法中使用某种异常。为了获得更好的答案,我将提供一些示例代码。请别取笑:)

public class Quad {

  public static void main (String[] args) {

    double a, b, c;

    a=1; b=-7; c=12;
    System.out.println("x = " + quadratic(a, b, c, 1));   // x = 4.0
    System.out.println("x = " + quadratic(a, b, c, -1));  // x = 3.0


    // "invalid" coefficients. Let's throw an exception here. How do we handle the exception?
    a=4; b=4; c=16;
    System.out.println("x = " + quadratic(a, b, c, 1));   // x = NaN
    System.out.println("x = " + quadratic(a, b, c, -1));  // x = NaN

  }

  public static double quadratic(double a, double b, double c, int polarity) {

    double x = b*b - 4*a*c;

    // When x < 0, Math.sqrt(x) retruns NaN
    if (x < 0) {
      /*
        throw exception!
        I understand this code can be adjusted to accommodate 
        imaginary numbers, but for the sake of this example,
        let's just have this function throw an exception and
        say the coefficients are invalid
      */
    }

    return (-b + Math.sqrt(x) * polarity) / (2*a);

  }

}

问题答案:

不,您不能在Java中做到这一点。

您可以返回一个Object。通过返回一个对象,您可以从技术上返回派生类,例如java.lang.Integerjava.lang.Boolean。但是,我认为这不是最好的主意。



 类似资料:
  • 我在玩TypeScript中的条件类型。我想用条件返回类型编写一个函数。如果函数被传递一个字符串,它将返回一个名称,否则它将返回一个Id。 我在返回语句中得到以下错误: 我错过了什么?Thnx! 编辑:直接摘自Anders Hejlsberg在Build 2018上的演讲:https://youtu.be/hDACN-BGvI8?t=2241 他甚至说“我们不再需要写函数重载了…” 如果我将代码更

  • 问题内容: 函数的返回类型应该是什么?(与大多数其他语言一样,例如在此处阅读) 我考虑过一些配对类型,但是Java中不存在。人们经常说这是因为专门的Pair-class比一般的Pair- class好(请参阅此问题)。但是,这在一般功能中是不可能的。 问题答案: 由于您似乎决定不理会具有Java多年经验的人,因此这里的代码与python中的zip函数相同。 版画

  • 问题内容: 我想编写以下功能,该功能应在Excel工作表中使用: …这将通过ODBC在内部连接到SQL数据库,然后在其中执行 并将返回结果值作为函数GetRecField的结果。上面的SQL被授权仅返回一个记录(IOW KEY_FIELD具有唯一约束)。 当然,上面的函数可以在工作表中多次调用,所以请尽量避免盲目 TIA。 问题答案: 您可以编写一个自定义函数来做到这一点 打开VBA编辑器(ALT

  • 问题内容: 在Python中,我想编写一个返回另一个函数的函数。返回的函数应该可以通过参数调用,并返回高度和半径为圆柱的体积。 我知道如何从Python中的函数返回 值 ,但是如何返回 另一个函数 ? 问题答案: 使用Python尝试一下: 这样使用它,例如与和: 注意,返回一个函数很简单,只需在函数内部定义一个新函数,然后在最后返回它- 小心地为每个函数传递适当的参数。仅供参考,从另一个函数返回

  • 问题内容: 我有多个共享某些字段。例如, 我还有一个仅处理共享字段的功能,例如 如何处理这种情况?我知道我们可以将颜色和质量转换为函数,然后可以使用interface并将该接口传递给function 。但是,如果不能更改和的类型,该怎么办。我是否必须定义两个具有基本相同实现的功能? 问题答案: 在Go中,您不会像Java,c#等那样使用传统的多态性。大多数事情都是使用合成和类型嵌入完成的。一种简单

  • 问题内容: 我想要一个可以将变量/对象名称返回为str的函数,如下所示: 它看起来很傻,但是我需要该函数来构造有关变量的表达式,以供以后在’exec()’上使用。有人可以帮忙写“ get_variable_name”吗? 问题答案: 我现在已经在SO上多次见过关于这种问题的一些变体。答案是 否定的 。 学会随时使用名称和对象之间的关联。 稍后您将为此感谢自己。 在回答“我的代码如何发现对象的名称?