我是一個java初學者。請幫我,什麼是錯,此代碼:這個構造函數有什麼問題
public class Test {
char[] alfa;
Test(){
alfa = {'a','b'};
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.alfa[0]);
}
}
謝謝
我是一個java初學者。請幫我,什麼是錯,此代碼:這個構造函數有什麼問題
public class Test {
char[] alfa;
Test(){
alfa = {'a','b'};
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.alfa[0]);
}
}
謝謝
你不能做:
alfa = {'a','b'};
它應該是:
alfa = new char[]{'a','b'};
的短符號只能用於聲明數組時,如下所示:
char[] alfa = {'a','b'};
您只能使用在初始化數組常量,即
char[] alfa = { 'a', 'b' };
否則,您必須使用new
,像這樣:
alfa = new char[] { 'a', 'b' };
在這一行:
alfa = {'a','b'};
你會得到一個Array constants can only be used in initializers
編譯器錯誤。你應該初始化char[]
這樣的:
alfa = new char[]{'a','b'};
或可替換地在聲明時初始化
char[] alfa = {'a', 'b'};
看看在Java教程的Arrays Chapter,特別是「創建,初始化和訪問數組「部分。
你可以試試這個方法:
public class Test
{
private char[] alpha;
public char[] getAlpha()
{
return this.alpha;
}
public Test(){
this.alpha = new char[]{'a','b'};
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.getAlfa()[0]);
}
}
也許你應該嘗試編譯它。 –
歡迎來到SO!如果這是作業,請添加適當的標籤。如果您有進一步的信息(例如,您爲什麼懷疑此代碼有任何問題),請添加它,以便我們爲您提供更好的幫助。 –