请用Java编写个程序,接收用户在控制台输入的两个英文单词,判断其中一个个单词的所有字符重新排列后,能否变为另个一个单词
时间: 2023-03-24 13:00:26 浏览: 298
Java实现单词查询程序
3星 · 编辑精心推荐
好的,以下是用Java实现的示例代码,可以实现上述功能:
```java
import java.util.*;
public class WordSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个英文单词,用空格隔开:");
String input = scanner.nextLine();
String[] words = input.split(" ");
char[] word1Chars = words[0].toCharArray();
char[] word2Chars = words[1].toCharArray();
Arrays.sort(word1Chars);
Arrays.sort(word2Chars);
String sortedWord1 = new String(word1Chars);
String sortedWord2 = new String(word2Chars);
if (sortedWord1.equals(sortedWord2)) {
System.out.println("这两个单词可以通过重新排列其中一个单词的字母顺序得到。");
} else {
System.out.println("这两个单词不能通过重新排列其中一个单词的字母顺序得到。");
}
}
}
```
以上代码首先使用Scanner类从控制台接收用户输入的两个英文单词,然后将这两个单词转换为字符数组,并使用Arrays类的sort方法对每个字符数组进行排序。
接着,将排序后的字符数组转换为字符串,并比较这两个字符串是否相等。如果相等,则说明这两个单词可以通过重新排列其中一个单词的字母顺序得到,否则说明不行。最后,程序会输出相应的结果。
值得注意的是,这段代码实现的算法复杂度较高,因为它将字符数组排序所需的时间复杂度为O(nlogn),在实际应用中可能会受到影响。但是,在输入较短的字符串时,这种算法已经足够快了。
阅读全文