【发布时间】:2021-09-29 06:09:32
【问题描述】:
我正在尝试确定两个字符串是否是彼此的排列。当我输入以下字符串(见下面的代码)时,程序应该打印出这两个字符串是可置换的。但是,这不是我可以在屏幕上看到的声明。谁能帮我?这是我的代码:
public static void main(String[] args) {
String str1 = "abcrdt";
String str2 = "barcdt";
char[] arr1 = str1.toCharArray();
Arrays.sort(arr1);
char[] arr2 = str2.toCharArray();
Arrays.sort(arr2);
if (isPermutation(arr1, arr2)) {
System.out.print("The strings are permutable.");
} else {
System.out.print("The strings are not permutable.");
}
}
static boolean isPermutation(char[] arr1, char[] arr2) {
if (arr1.length != arr2.length) {
return false;
}
for (int i = 0; i <= arr1.length; i++) {
for (int j = 0; j <= arr2.length; j++) {
if (arr1[i] != arr2[j]) {
return false;
}
}
}
return true;
}
【问题讨论】:
标签: java loops if-statement boolean permutation