2014-02-24 89 views
0

我需要做一個toString()函數,它返回複雜對象Complex(3,2)的字符串「3 + 2i」。如何讓toString()返回一個複雜的對象?

這就是我所做的,但我得到了下面的錯誤,我不知道它是什麼意思。

從版本8開始,只允許'this'作爲接收器類型的參數名稱,它必須是第一個參數。

public String toString() 
{ 
    String s = ("%f + %fi",this.real,this.imaginary); 

    return s; 
} 

任何人都可以幫我解決我做錯了什麼?

+2

有什麼看法'( 「%F +%科幻」,this.real,this.imaginary)'應該做的事? –

+0

@SotiriosDelimanolis我相信%f應該被替換爲在構造函數中設置的對象實數和虛數值。然後返回該字符串。 – Reeggiie

+1

好的,現在是什麼讓你覺得呢? –

回答

5

那麼,它不是Java。爲了格式化String,您必須使用String.format();

String s = String.format("%f + %fi", this.real, this.imaginary); 
0

您可以返回什麼都StringtoString()方法。唯一的事情是你必須overridetoString()方法。但你嘗試的方式是錯誤的。你只能從toString()

返回String值你可以試試這個

String s = String.format("%f + %fi",this.real,this.imaginary); 
相關問題