2017-10-12 310 views
-1

我有一些代碼,看起來像這樣:(JAVA)如何解決不兼容的錯誤類型

public class Name { 
    private char initial1; 
    private char initial2; 

    public Name(char initial1, char initial2) { 
     this(initial1 + initial2); 
    } 
    public String toString() { 
     return initial1 + initial2; 
    } 
} 

當我編譯,我得到2個錯誤說:「不兼容的類型:INT不能轉換爲字符串」與指向「+」號的箭頭。 我該如何解決這個問題?任何幫助表示讚賞。謝謝!

編輯:我忘了提及,我通過使用此(初始1 +初始2)調用超類,並且我有另一個構造函數。

回答

0

您的構造函數是錯誤的,以及

public class Name { 
    private char initial1; 
    private char initial2; 

    public Name(char initial1, char initial2) { 
    this.initial1 = initial1; 
    this.initial2 = initial2; 
    } 

    public String toString() { 
    return String.format("%c%c", initial1 , initial12); 
    } 
} 
+0

感謝我的固定toString()方法! – Viola

0

char被視爲一個字節,因此initial1 + initial2返回一個字節而不是一個字符串。你需要的是首先將它轉換爲字符串,然後CONCAT:

public String toString() { 
    return Character.toString(initial1) + Character.toString(initial2); 
}