私は次の方法を作りました:
static int GenerateSeccondPal(int x){
String y = Integer.toString(x);
char[] z1 = y.toCharArray();
char[] z2 = new char[y.length() / 2];
for (int count = (z1.length /2); count <= z1.length; count++) {
z2[count] = z1[count];
}
return Integer.parseInt(new String(z2));
}
ただし、実行すると、次のエラーが発生します。
スレッド「main」の例外java.lang.ArrayIndexOutOfBoundsException:3 at Challenges.Problem_4.GenerateSeccondPal(Problem_4.java:31)at Challenges.Problem_4.main(Problem_4.java:6)
私が作った他の方法のため、これは奇妙です:
static int GenerateFirstPal(int x) {
String y = Integer.toString(x);
char[] z1 = y.toCharArray();
char[] z2 = new char[z1.length / 2];
for (int count = 0; count < z1.length / 2; count++) {
z2[count] = z1[count];
}
return Integer.parseInt(new String(z2));
}
完璧に動作します。私が書いたものの何が問題になっていますか?