字符个数统计HashSet String Character

字符个数统计

https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50

思路

去重首先想到用HashSet的add()方法,思路就是输入字符串→把字符串填入HashSet→输出size

刚开始没想着对输入的字符做限制,于是提交了两个版本,一个是对输入无判断的,二是判断输入的字符是否是字母。

v1:对输入无判断

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (in.hasNext()) {
        //set.add
        String str = in.next();
        HashSet<Character> set = new HashSet<>();
        for (int i = 0; i < str.length(); i++) { //对字符串中的字符逐一添加
            set.add(str.charAt(i));
        }
        System.out.println(set.size());
    }
}

v2:判断输入的字符是否是字母

public class Main {
    public static boolean isAsc(String str) {
        for (int i = 0; i < str.length(); i++) {
            Character c = str.charAt(i);
            if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {
                return true;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String str = in.next();
            if (isAsc(str)) {
                HashSet<Character> set = new HashSet<>();
                for (int j = 0; j < str.length(); j++) {
                    set.add(str.charAt(j));
                }
                System.out.println(set.size());
            } else {
                System.out.println("错误输入");
            }
        }
    }
}

总结

总体还算简单,字符串 String 的 charAt(位置) 方法学到了,可以对于字符串中指定位置的字符进行操作。

李咸鱼刷题小结 文章被收录于专栏

总结一下我的刷题过程、错误以及学到的知识

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务