2012-11-03 81 views
0

我一直在爲學校開展一個項目。基本上你必須用幾個掃描儀制作腳本。因此,例如:如何讓函數返回「Double」或「Int」?

  • 返回從整數對應的ASCII碼,所以從掃描儀
  • 返回給人一種雙球體的表面。

我現在想爲這兩個功能做一個掃描儀類。但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?:));

但是,如果我想讓功能工作也加倍它出錯原因函數不期望返回雙打。

我該如何解決這個問題?

回答

11

A double可以代表每個可能的int值,所以返回一個double。

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?