3 回答

TA貢獻1836條經驗 獲得超3個贊
問題是您聲明字符數組的方式。
char[] chr1 = {};
你這樣做的方式是用 0 的大小定義數組。
在 Java 中,您需要像這樣指定數組的大小:
char[] chr1 = new char[3];
它的作用是聲明一個預定義大小為 3 的 char 數組。

TA貢獻1725條經驗 獲得超8個贊
如果你正在嘗試為回文寫代碼,它在很多方面都是錯誤的,但對于錯誤,你正在初始化一個 0 大小的空數組,使用這個
char[] chr1 = new char[3];

TA貢獻1865條經驗 獲得超7個贊
您還應該首先檢查長度以確保它們相同。否則,您可能會得到另一個ArrayIndexOutOfBoundsException
. 當您使用較長的字符串長度來索引較短的字符數組時,就會發生這種情況。
由于對于較長的字符串,您不希望在單個if
語句中進行多次比較,因此您應該使用循環并從一個數組的開頭和另一個數組的結尾開始進行比較。因此,如果長度為 5,您將比較 0 和 4 處的字符,然后是 1 和 3,然后是 2 和 2,然后是 3 和 1,依此類推。
以下是一些可能有幫助的其他提示。您不需要創建空數組并填充它們。字符串提供了這種能力。
char[] chr1 = s1.toCharArray();
事實上,您不需要分配給 String 變量。
char[] chr1 = "man".toCharArray();
以防萬一您想要分配給 String 數組而不是 char 數組,您可以這樣做來保存單個字符串數組。
String[] str1 = "abcdefghijklmnopqrstuvwxyz".split("");
添加回答
舉報