Java基础String类-统计字符出现次数

简介: Java基础String类-统计字符出现次数

现有如下文本:“Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的”。

请编写程序,统计该文本中"Java"一词出现的次数。


示例代码:


public class HomeworkTest04 {
    public static void main(String[] args) {
      String longStr = "Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的";
      String shortStr = "Java";
      int count = getStrExistsCount(longStr, shortStr);
      System.out.println(count);
    }
    //封装一个统计存在次数的方法
    public static int getStrExistsCount(String longStr,String shortStr){
        //如果用户输入空字符串的特殊情况下,那就返回0
        //提高程序健壮性
        if(shortStr.equals("")){
            return 0;
        }
        int count = 0;
        while(true) {
        int index = longStr.indexOf(shortStr);//判断短字符串在长字符串中首次出现的次数
            if (index != -1) {
                count++;
                longStr = longStr.substring(index + shortStr.length());//截取已发现的短字符串,留下剩余的字符串继续查找
            } else {
                break;
            }
        }
        return count;
    }
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png

相关文章
|
2天前
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
16 0
|
4天前
|
机器学习/深度学习 人工智能 算法
探索人工智能在医疗诊断中的应用与挑战Java编程中的对象和类:基础与实践
【8月更文挑战第27天】随着人工智能(AI)技术的飞速发展,其在医疗领域的应用日益广泛。本文深入探讨了AI技术在医疗诊断中的具体应用案例,包括图像识别、疾病预测和药物研发等方面,并分析了当前面临的主要挑战,如数据隐私、算法偏见和法规限制等。文章旨在为读者提供一个全面的视角,理解AI在改善医疗服务质量方面的潜力及其局限性。
|
4天前
|
Java Spring 容器
Java获取接口的所有实现类方法
这篇文章介绍了在Java中获取接口所有实现类的方法,包括使用JDK的ServiceLoader(SPI机制)和Spring Boot中的@Autowired自动注入及ApplicationContextAware接口两种方式。
23 1
|
8天前
|
存储 Java 索引
如何在 Java 中创建类对象的 Arraylist?
【8月更文挑战第23天】
17 1
|
10天前
|
Java
Java系列之 For input string: ““
这篇文章讨论了Java中因尝试将空字符串转换为其它数据类型(如int)时出现的`For input string: ""`错误,并提供了通过非空检查来避免此错误的解决方法。
|
10天前
|
Java 索引
Java系类之 Java字符串查找
这篇文章介绍了Java中`indexOf()`方法的两种重载形式,用于返回子字符串在指定字符串中首次出现的索引位置,包括基本语法和示例代码演示其用法。
Java系类之 Java字符串查找
|
3天前
|
缓存 安全 Java
Java String类
Java String类
8 0
|
4天前
|
存储 Java 编译器
String能存储多少个字符
String能存储多少个字符
|
5天前
|
安全 Java API
Java多线程编程:使用Atomic类实现原子操作
在Java多线程环境中,共享资源的并发访问可能导致数据不一致。传统的同步机制如`synchronized`关键字或显式锁虽能保障数据一致性,但在高并发场景下可能导致线程阻塞和性能下降。为此,Java提供了`java.util.concurrent.atomic`包下的原子类,利用底层硬件的原子操作确保变量更新的原子性,实现无锁线程安全。
8 0
|
7天前
|
开发工具 数据安全/隐私保护
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
下一篇
云函数