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("");
添加回答
举报
