编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
数据范围:
输入一行没有空格的字符串。
输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
abc
3
aaa
1
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); //使用HashSet存储不同的字符 Set<Character> chars = new HashSet<>(); for (int i = 0; i < str.length(); i++) { // 将字符添加到HashSet中,自动去重 chars.add(str.charAt(i)); } System.out.println(chars.size()); } }
import java.util.ArrayList; import java.util.List; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); List<Character> list = new ArrayList<>(); String str = in.nextLine(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (!list.contains(c)) { list.add(c); } } System.out.println(list.size()); } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); System.out.println(str.chars().distinct().count()); } }
import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args){ List<String> list = new ArrayList<>(); Scanner in = new Scanner(System.in); while(in.hasNext()) { String str = in.nextLine(); String strs[] = str.split(""); for(int i=0;i<strs.length;i++){ //如果List中不存在就添加,存在就不添加 if(!list.contains(strs[i])){ list.add(strs[i]); } } System.out.println(list.size()); //因为是循环输入,上次记录的结果要清空 list.clear(); } in.close(); } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 //while (in.hasNextInt()) { // 注意 while 处理多个 case String a = in.nextLine(); // int b = in.nextInt(); // System.out.println(a + b); // } HashSet<Character> set = new HashSet<>(); for(char ch: a.toCharArray()){ set.add(ch); } System.out.println(set.size()); } }
import java.util.*; import java.util.stream.Collectors; import java.util.HashSet; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // System.out.println("请输入要统计的字符串:"); String next = sc.next(); HashSet<Character> uniqueChars = new HashSet<>(); for (char c : next.toCharArray()) { if(c>=0 && c<=127){ uniqueChars.add(c); } } System.out.println(uniqueChars.size()); } }
import java.util.HashSet; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str = in.nextLine(); int length = str.length(); HashSet<Character> Hashset = new HashSet<>(length); for (int i =0;i<length;i++){ Hashset.add(str.charAt(i)); } System.out.println(Hashset.size()); } }
import java.util.Scanner; import java.util.TreeSet; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 TreeSet<Character> set=new TreeSet<>(); String str=in.nextLine(); char[] ch=str.toCharArray(); for(char i:ch) { set.add(i); } System.out.println(set.size()); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { String str = new Scanner(System.in).nextLine(); int count = 0; for (int i = 0; i < str.length(); i++) { if (str.indexOf(str.charAt(i)) == i) { count++; } } System.out.println(count); } }