题解 | #字符个数统计#
字符个数统计
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());
}
}
}
查看9道真题和解析