3 回答

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

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

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