题目: 统计输入的字符个数,条件,不包含重复的, 且范围在0~127之间
1 首先,仍然是要对输入的字符串去重,有两种思路,一种是利用字符串contains()方法去重,另一种是直接使用HashSet<>存储,因为hashset自动去重;
2 最后,无论是字符串还是hashSet,最终只要算存进去的长度即可
//字符串contains()方法去重 Scanner sc = new Scanner(System.in); String s = sc.nextLine(); char[] ch = sc.toCharArray(); String str=""; for(int i=0;i<ch.length;i++){ if(!str.contains(ch[i]+"")&&ch[i]>=0&&ch[i]<=127)( str+=ch[i]; ) } System.out.println(str.length());
方法2:
//HashSet写法 简单 运行快 Scanner sc = new Scanner(System.in); String s = sc.nextLine(); char[] ch = sc.toCharArray(); HashSet<Integer> set = new HashSet<>(); for(char c : ch){ int i=c; if(i>=0&&i<=127){ set.add(i); } } System.out.println(set.size());