题解 | #字符个数统计#
字符个数统计
https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50
- 注意hasnext和hasnextline的区别
- 注意continue的用法
在提供的代码中,当遇到特定条件时执行
continue
语句,该语句会跳过当前循环迭代的剩余部分,并继续下一次循环迭代。它不会直接跳出整个循环,而是继续检查下一个输入单词并执行相应的逻辑。在代码中的这个特定条件是,当字符的ASCII值大于127时,会执行
continue
语句,跳过将字符添加到HashSet
的步骤。这意味着非ASCII字符将被忽略,不会被计入唯一字符的计数中。循环将继续处理下一个字符,直到处理完整个单词。然后,将输出
HashSet
的大小,即单词中的唯一字符数量。然后,循环将继续读取下一个输入单词并重复这个过程。所以,
continue
语句在这里并不会直接跳出整个循环,它只是跳过当前迭代的剩余部分。
import java.util.Scanner; import java.util.HashSet; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String words = in.next(); HashSet<Character> hs = new HashSet<Character>(); for(int i = 0;i<words.length();i++){ if(Integer.valueOf(words.charAt(i)) > 127) continue; hs.add(words.charAt(i)); } System.out.println(hs.size()); } } }