如何编写java程序来检查一个字符串是否是另一个字符串的子字符串,而不使用indexOf()、contains()等? for(int i=0;i
我知道这甚至不正确,但我不知道如何开始 如何编写java程序来检查字符串是否是 另一个不使用indexOf()的字符串,contains()等 有许多方法(也基于您使用的函数/方法),例如,以下解决方案使用如何编写java程序来检查一个字符串是否是另一个字符串的子字符串,而不使用indexOf()、contains()等? for(int i=0;i,java,string,Java,String,我知道这甚至不正确,但我不知道如何开始 如何编写java程序来检查字符串是否是 另一个不使用indexOf()的字符串,contains()等 有许多方法(也基于您使用的函数/方法),例如,以下解决方案使用String#length和String#equalsIgnoreCase以及String#substring(您已经在代码中使用的方法)。逻辑检查主题子字符串是否等于(忽略大小写)从str中的索引开始的相同长度的子字符串 for (int i = 0; i < str1.length(
String#length
和String#equalsIgnoreCase
以及String#substring
(您已经在代码中使用的方法)。逻辑检查主题子字符串
是否等于(忽略大小写)从str
中的索引开始的相同长度的子字符串
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");
}
}
}
你的意思是像你在经典的编程入门练习中那样吗? 像这样的东西
true
false
String a=“你好,世界!”;
字符串b=“世界”;
布尔包含;
包含=错误;
对于(int i=0;i
…不使用indexOf()、contains()等?
-您需要准确地告诉我们您不想使用哪些方法,或者您想使用哪些方法来实现它。好吧,尝试一下逻辑,给定一个字符串str1,您可以逐个检查另一个字符串中与str1中的第一个字符相匹配的字符,然后从匹配的字符中获取str1的长度和索引,获取子字符串并检查其是否等于str1?如果不允许使用所有这些方法,那么他们可能希望您逐个字符进行比较,因此您可能应该使用。或者他们希望您调用,然后在两个数组上逐个字符进行比较。
true
false
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");