关于java:如何让函数返回“Double”或“Int”?

How to let a function return a “Double” or an “Int”?

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

  • 从整数返回相应的ASCII代码,因此从扫描仪返回
  • 用双精度函数返回球面。

我现在想为这两个函数制作一个扫描器类。但是1必须是一个整数,第二个必须是一个双精度数。如何确保函数返回双精度或整数。

我使用以下代码:

1
2
3
4
5
6
7
8
9
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?:));

但是如果我想让函数也为double工作,它就会出错,因为函数不希望返回double。

我如何解决这个问题?


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


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

1
2
3
4
5
6
7
public static Number vrager (String type, String tekst) {
    ...
    Double ret=....
    --- or ---
    Integer ret....
    return ret;
}

查看文档中的类号

另一种方法是使用泛型:如何使方法返回类型成为泛型?