java - 如何在不使用 indexOf()、contains() 等的情况下编写一个 java 程序来检查一个字符串是否是另一个字符串的子字符串?
问题描述
for (int i = 0; i < str1.length(); i++)
{
String c = str1.substring(i, i + 1);
for (int j = 0; j < str2.length(); j++)
{
String d = str1.substring(j, j + 1);
if (d != c)
{
System.out.println("no");
}
else
{
System.out.println("yes");
}
}
}
我知道这甚至不正确,但我不知道如何开始。
解决方案
你的意思是像你在经典的入门编程练习中所做的那样吗?例如像这样的东西?
String a = "Hello, world!";
String b = "world";
boolean contained;
contained = false;
for (int i = 0; i < a.length() - b.length() + 1 && !contained; i++) {
contained = true;
for (int j = 0; j < b.length() && contained; j++)
if (a.charAt(i + j) != b.charAt(j))
contained = false;
}
System.out.println(contained ? "b is a substring of a" : "b is not a substring of a");
推荐阅读
- testing - 执行测试时出错:ERROR 由于出现错误无法准备测试
- ios - Xcode 11 Beta 5 未显示 Swift 5.1
- javascript - 如何使用cheerio和express从instagram获取信息
- acumatica - 字段默认处理程序
- apache-spark - 获取数据框中每一列的最大列长度
- typescript - 上下文类型只是类型推断的另一个术语吗?
- php - 将字符串转换为带有键的数组
- database - 在 wordpress 中合并 2 个数据库
- javascript - 如何在 Jscodeshift 中正确导出 const
- elasticsearch - Elasticsearch 查询交集