通过键盘输入10个字符串到List容器中,判断哪些是回文字符串,并将其删除。
时间: 2024-03-21 07:44:13 浏览: 15
好的,我来解答你的问题。
首先,我们需要使用 `List` 容器来存储字符串。在 Java 中,我们可以使用 `ArrayList` 来实现 `List` 容器。下面是一个简单的代码示例,演示如何将 10 个字符串存储到 `ArrayList` 中:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PalindromeRemover {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> strings = new ArrayList<>();
System.out.println("请输入10个字符串:");
for (int i = 0; i < 10; i++) {
strings.add(scanner.nextLine());
}
System.out.println("您输入的字符串为:");
System.out.println(strings);
}
}
```
接下来,我们需要编写一个方法来判断字符串是否为回文字符串。回文字符串是指正序和倒序读都一样的字符串。例如,"level" 就是一个回文字符串。
下面是一个简单的方法,可以判断一个字符串是否为回文字符串:
```java
public static boolean isPalindrome(String str) {
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
```
现在,我们可以使用这个方法来判断列表中的每个字符串是否为回文字符串。如果是回文字符串,我们就将其从列表中删除。下面是完整的代码:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class PalindromeRemover {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> strings = new ArrayList<>();
System.out.println("请输入10个字符串:");
for (int i = 0; i < 10; i++) {
strings.add(scanner.nextLine());
}
System.out.println("您输入的字符串为:");
System.out.println(strings);
Iterator<String> iterator = strings.iterator();
while (iterator.hasNext()) {
String str = iterator.next();
if (isPalindrome(str)) {
iterator.remove();
}
}
System.out.println("删除回文字符串后的列表为:");
System.out.println(strings);
}
public static boolean isPalindrome(String str) {
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
}
```
在这个代码中,我们使用了 `Iterator` 来遍历列表中的每个字符串。如果字符串是回文字符串,就使用 `iterator.remove()` 方法将其从列表中删除。最后,我们打印删除回文字符串后的列表。
希望这个代码能够帮助你解决问题!