0

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

  • 从整数中返回相应的 ASCII 码,因此从扫描仪中返回
  • 通过给定一个双精度来返回球体的表面。

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

我正在使用以下代码:

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?:));

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

我该如何解决这个问题?

4

2 回答 2

11

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

于 2012-11-03T18:41:55.723 回答
3

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

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

查看类Number的文档

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

于 2012-11-03T18:46:10.073 回答