从用户输入中打印几个回文
Print couple of Palindromes out of a user input
我想从用户输入中打印出几个词,
例如那句话:“我们爱爸爸妈妈”
该程序将打印 "mom dad"
我不知道如何打印这些词。只有字符 m 和 d。
非常感谢 !
这是我的代码:
Scanner s = new Scanner(System.in);
System.out.println("Please enter a Sentence");
String input = s.nextLine();
String output = "";
for (int i = 0, j = 0; i < input.length(); i++) {
if (input.charAt(i) == ' ') {
j = i + 1;
}
if (j < i && input.charAt(j) == input.charAt(i)) {
output=output+(input.charAt(i);
}
}
System.out.println(output);
}
}
下面是我将如何解决这个问题。
- 按空格拆分字符串(假设您不需要担心标点符号)
- 使用 StringBuilder 遍历通过拆分和反转所有字符串获得的数组。 (将这些反向字符串保存在一个新数组中)
- 最后,使用双 for 循环遍历两个数组,比较反转数组和原始数组中的字符串。如果一个词是相同的,它就是一个回文,你可以打印它或者用它做任何事情。
您可以拆分任务:
- 创建检查字符串是否为回文的方法。 Examples
- 将输入行拆分为 space 并循环检查每个字符串是否为回文。打印或存储,您必须选择:
使用串联将结果保存在字符串中。
String input = s.nextLine();
String result = "";
for(String word : input .split(" ")) {
if(isPalindrome(word))
result += word + " ";
}
在ArrayList中保存回文词。
String input = s.nextLine();
List<String> words = new ArrayList<>();
for(String word : input .split(" ")) {
if(isPalindrome(word))
list.add(word);
}
我想从用户输入中打印出几个词, 例如那句话:“我们爱爸爸妈妈” 该程序将打印 "mom dad" 我不知道如何打印这些词。只有字符 m 和 d。 非常感谢 ! 这是我的代码:
Scanner s = new Scanner(System.in);
System.out.println("Please enter a Sentence");
String input = s.nextLine();
String output = "";
for (int i = 0, j = 0; i < input.length(); i++) {
if (input.charAt(i) == ' ') {
j = i + 1;
}
if (j < i && input.charAt(j) == input.charAt(i)) {
output=output+(input.charAt(i);
}
}
System.out.println(output);
}
}
下面是我将如何解决这个问题。
- 按空格拆分字符串(假设您不需要担心标点符号)
- 使用 StringBuilder 遍历通过拆分和反转所有字符串获得的数组。 (将这些反向字符串保存在一个新数组中)
- 最后,使用双 for 循环遍历两个数组,比较反转数组和原始数组中的字符串。如果一个词是相同的,它就是一个回文,你可以打印它或者用它做任何事情。
您可以拆分任务:
- 创建检查字符串是否为回文的方法。 Examples
- 将输入行拆分为 space 并循环检查每个字符串是否为回文。打印或存储,您必须选择:
使用串联将结果保存在字符串中。
String input = s.nextLine();
String result = "";
for(String word : input .split(" ")) {
if(isPalindrome(word))
result += word + " ";
}
在ArrayList中保存回文词。
String input = s.nextLine();
List<String> words = new ArrayList<>();
for(String word : input .split(" ")) {
if(isPalindrome(word))
list.add(word);
}