如何让函数返回“Double”或“Int”?

时间:2012-11-03 18:39:12

标签: java function integer double return

我一直在为学校做项目。基本上你必须用几个扫描仪制作一个脚本。例如:

  • 从整数中返回相应的ASCII代码,因此从扫描仪
  • 返回
  • 通过给双击返回球体表面。

我现在想为这两个函数制作一个Scanner类。但是1必须是一个整数,第二个必须是一个整数。如何确保函数返回double或整数。

我使用以下代码:

public static [Heres what goes wrong] vrager (String type, String tekst) {

Scanner vraag = new Scanner(System.in);

System.out.println(tekst);

type variable = vraag.next();

return variable;

所以通过调用函数就像:seconden = (vrager("int", "How many seconds?:));

但是如果我想让这个功能工作也会加倍,那么它就会出错,因为这个函数不会期望返回双精度数。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:11)

double可以表示每个可能的int值,因此返回一个双倍。

答案 1 :(得分:3)

您不能拥有两个具有相同名称,相同参数但不同类型的函数。 至少有几种方法可以实现它,你可以这样做:

public static Number vrager (String type, String tekst) {
    ...
    Double ret=....
    --- or ---
    Integer ret....
    return ret;
}

查看课程Number

的文档

另一种方法是使用泛型: How do I make the method return type generic?