Java 中子字符串与字符串的比较

2024-04-18

所以基本上,用户输入 2 个字符串 ( CATSATONTHEMAT AT ),我们需要计算第二个字符串在第一个字符串中出现的次数(所以这里的答案是 3 )

这就是我到目前为止所拥有的,而且它一直在说

“线程“主”中的异常 java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:81223 在 java.lang.String.substring(来源未知) 在practice.main(practice.java:60)”

任何帮助,将不胜感激!我只是看不到我错在哪里

    String s = scan.next(); // CATSATONTHEMAT
    String t = scan.next(); // AT

    int j= 0;

    for ( int i = 0 ; i < s.length(); i++){
        int k = t.length();
        String newstring = s.substring(i,i+k); // I printed this and the substring works so the if statement might not be working..

        if(newstring.equals(t))
            j++;   // if the new substring equal "AT" then add 1
        }

    System.out.printf("%d", j);  // suppose to print just 3

当 i 接近 s 的末尾并且 k 使您通过了字符串的末尾时,会发生 outOfBounds 异常。

您需要将循环更改为仅达到 s.length()-t.length()

for ( int i = 0 ; i < s.length()-t.length(); i++){

我还建议将 int k = t.length() 从 for 循环中取出。您不需要每次迭代都分配该值,因为每次迭代都应该相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中子字符串与字符串的比较 的相关文章

  • Java 8 不兼容类型

    这是简单的代码 import java util ArrayList import java util Collections import java util HashMap import java util Map public cla
  • 使用 Java 中的映射实现的队列数据结构,大小限制为 5

    我有带有一些记录的地图 我想将该映射限制为仅 5 个元素 并且每当添加新元素时 应删除第一个元素 并应在映射的最后位置添加新元素 类似于 FIFO 的东西 任何人都可以建议我使用一个数据结构或解决方案本身 E g Map
  • Spring AOP 是否进行编译时编织或加载时编织?

    我开始在一个项目中使用 Spring AOP 但我对编织有点困惑 我知道 Spring AOP 依赖于 AspectJweaver jar 但正如文档所说 这不是为了编织 而只是它使用了这个 jar 中的一些类 但我的问题是 如果不使用As
  • Android JSONObject内部多个JSONObject的解析

    我有一个来自服务器的 JSON 字符串 它看起来像这样 categories 0 term id 247 name Content Curation 1 term id 50 name Content Marketing 2 term id
  • Spring Boot 动态重置数据源

    当 Spring 配置文件或自定义数据库属性文件中的数据库名称 密码或主机名等数据库属性发生更改时 我尝试更新 Spring Boot 中的数据源 当属性更改时 应用程序必须通过侦听属性更改来自行更新 一旦数据库配置发生更改 我就使用 Sp
  • 为什么 Map.of 不允许空键和空值?

    在 Java 9 中 引入了新的工厂方法List Set and Map接口 这些方法允许使用一行中的值快速实例化 Map 对象 现在 如果我们考虑 Map
  • 在 Android Studio 中启动 Activity 时出错

    我正在尝试制作一款具有多个 java 文件的 Android Studio 应用程序 然而 当我尝试运行我的应用程序时 它说 Error while executing am start n com example company appn
  • 运行时签名是什么?

    当涉及到有界类型时 我对 Java 的类型擦除有一些理解上的问题 考虑一下 class Event From the API class FooEvent extends Event abstract class Foo
  • Java+Spring:SEVERE Servletservice

    我不知道我出了什么问题listContacts在控制器中map put contactList contactService listContact 有人可以帮助我吗 严重 路径 test 上下文中 servlet dispatcher 的
  • TextWatcher.onTextChanged 被多次调用

    我已经阅读了有关此问题的一些主题 但找不到完整的答案 我有一个包含 3 行的 ListView 每行包含一个 TextView 和一个 EditText 以及一个扩展 BaseAdapter 的自定义适配器 这是适配器的 getView 函
  • 与 Java 7 相比,Java 8 ScriptEngine 的主要性能问题

    我有一个 Java 程序 使用 JDK 7u80 编译 它广泛使用了 JavaScript ScriptEngine JSR 223 我注意到 与 Java 7 运行时环境 JRE 7u80 相比 我的程序在 Java 8 运行时环境 JR
  • 如何使用 C 将带有 2 个变量的 IF 语句转换为 switch 函数?

    我有一个 IF 语句 我想将其转换为 Switch 语句 但它有 2 个变量 在C上可以实现吗 这是一个石头 剪刀 布的游戏 R代表石头 P代表布 S代表剪刀 char play1 play2 printf nPlayer 1 Enter
  • java中如何将字符串日期转换为时间戳?

    我想在java中将字符串日期转换为时间戳 我编写了以下编码 我声明 date1 的日期是 7 11 11 12 13 14 SimpleDateFormat datetimeFormatter1 new SimpleDateFormat y
  • 无法运行正在访问 GlassFish v3 上的 EJB 的应用程序客户端

    环境 GlassFish 3 0 1 NetBeans 6 9 JDK 6u21 Problem 无法运行正在访问 EJB 的应用程序客户端 错误报告可以在下面找到http netbeans org bugzilla show bug cg
  • Spring休眠异常

    当我启动 SpringMVC 时 出现以下异常 Apr 28 2012 6 08 23 PM org apache catalina core AprLifecycleListener init INFO The APR based Apa
  • 如何在弹性搜索中生成多个布尔查询的查询

    我想使用 spring 框架在 elasticsearch 中动态生成多个布尔运算的查询 我在elasticsearch中的数据就像 masterID
  • ZonedDateTime 的 Jackson 反序列化问题

    我在反序列化我正在使用的服务期间使用的类中有以下字段 private ZonedDateTime transactionDateTime 我正在使用的服务可能会使用以下模式返回日期或日期时间 yyyy MM dd T HH mm ss SS
  • SAX:如何获取元素的内容

    我在理解使用 SAX 解析 XML 结构时遇到了一些困难 假设有以下 XML
  • 如何用 Java 为 2D 游戏构建 Tiled 地图?

    不知道如何解决这个问题 基本上 我想要 400x400 窗口的 Pixel gt Tile 表示 屏幕上的每个坐标 例如120x300应该是图块的一部分 我最小的精灵是 4 个像素 所以我们可以说 1 个图块 4 个像素 玩家和敌人精灵都是
  • Java 中的无符号字节

    Java 中的字节默认是有符号的 我在其他帖子中看到 具有无符号字节的解决方法类似于 int num int bite 0xFF 有人可以向我解释一下为什么它会起作用并将有符号字节转换为无符号字节 然后将其转换为相应的整数吗 ANDing一

随机推荐