一个比较简单的解法
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ ArrayList<String> list = new ArrayList<>(); //容器用于存储单个字符数据 String str = sc.nextLine(); for(int i = 0;i < str.length();i++){ //将单个字符添加到容器当中 list.add(str.charAt(i) + ""); } for(int i = 1;i < list.size();i++){ if(list.get(0).equals(list.get(i))){ //遍历容器中的元素,遇到相等元素就删除所有重复元素 list.removeAll(Collections.singleton(list.get(i))); i = 0; } } if(list.size() == 0){ System.out.println(-1); //若元素都相同,那么返回-1 }else{ System.out.println(list.get(0)); //列表去重后第一个就是第一个只出现一次的字符 } } sc.close(); } }