java中找到名字最后一个字相同的人:在"张三","李四","王五","赵六","周七"," 王哲","白浩","贾蓉","慕容阿三","黄蓉"10 个名字中找出并输出最后一个字相同 的名字
时间: 2023-07-06 15:34:14 浏览: 222
好的,可以使用 Java 语言中的字符串相关方法来实现。具体实现方法为:遍历每个名字,取出每个名字的最后一个字符,然后将所有的最后一个字符存储到一个列表中,再使用 Java 语言中的集合(Set)去重,最后再遍历去重后的列表,找到每个名字最后一个字符相同的名字并输出即可。以下是示例代码:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Main {
public static void main(String[] args) {
String[] names = {"张三","李四","王五","赵六","周七","王哲","白浩","贾蓉","慕容阿三","黄蓉"};
List<Character> lastChars = new ArrayList<>(); // 存储所有名字的最后一个字符
for (String name : names) {
lastChars.add(name.charAt(name.length()-1)); // 取出每个名字的最后一个字符
}
Set<Character> lastCharsSet = new HashSet<>(lastChars); // 使用 Set 去重
for (char lastChar : lastCharsSet) { // 遍历去重后的集合
List<String> sameLastNames = new ArrayList<>(); // 存储最后一个字符相同的名字
for (String name : names) {
if (name.charAt(name.length()-1) == lastChar) { // 找到最后一个字符相同的名字
sameLastNames.add(name);
}
}
System.out.println("最后一个字为'" + lastChar + "'的名字有:" + sameLastNames);
}
}
}
```
上述代码中,我将给定的 10 个名字存储在一个字符串数组 names 中,然后使用 for-each 循环遍历每个名字,取出每个名字的最后一个字符,使用 List<Character> 类型的 lastChars 存储所有名字的最后一个字符。接着,我使用 Java 语言中的集合(Set)去重,将去重后的结果存储到变量 lastCharsSet 中。最后,我再使用 for-each 循环遍历去重后的集合 lastCharsSet,找到每个名字最后一个字符相同的名字,并使用 System.out.println() 方法输出。
阅读全文