Java 在没有库的情况下从字符串中查找子字符串。我知道这很容易,但我找不到if语句给我留下深刻印象的地方
我检查的if语句仍然找不到错误。我错过了一些东西。告诉我我做错了什么 尝试使用string.indexOfsub!=-1,在确定输入字符串的格式符合预期格式后;i、 e.控制字符(如换行符)不会附加到输入数据中。有必要记住,如果要比较的字符串不完全匹配,那么比较将失败,即Java 在没有库的情况下从字符串中查找子字符串。我知道这很容易,但我找不到if语句给我留下深刻印象的地方,java,string,Java,String,我检查的if语句仍然找不到错误。我错过了一些东西。告诉我我做错了什么 尝试使用string.indexOfsub!=-1,在确定输入字符串的格式符合预期格式后;i、 e.控制字符(如换行符)不会附加到输入数据中。有必要记住,如果要比较的字符串不完全匹配,那么比较将失败,即 你在哪里增加计数?如果你找到第一个匹配,你将增加两次“j”。这将从数组中跳过一个字符。请尝试查看子字符串的长度,并检查它是否以换行符结尾。我不确定在使用nextLine时是否将这些附加到输入数据中,但这肯定会影响您的比较。 p
你在哪里增加计数?如果你找到第一个匹配,你将增加两次“j”。这将从数组中跳过一个字符。请尝试查看子字符串的长度,并检查它是否以换行符结尾。我不确定在使用nextLine时是否将这些附加到输入数据中,但这肯定会影响您的比较。
package stringoperation;
import java.util.Scanner;
public class Stringops {
public static void main(String [] args)
{
String string ;
String sub ;
Scanner in = new Scanner(System.in);
System.out.println("enter a string");
string =in.nextLine();
System.out.println("enter a substring to identify");
sub = in.nextLine();
char[] array= string.toCharArray(); // converting string to array of char
char[] subarray = sub.toCharArray(); //converting sub string to array of char
int count=0;
for(int j=0;j<array.length;j++)
{
if(array[j]==subarray[count]) //till both are same it will run
{
if(count==sub.length()-1) //if substring size is reached thats mean matched break out
{
System.out.println("substring is present");
break;
}
j++;
}
if(array[j]!=subarray[count]) // otherwise make count as 0 to proceed again
{
count=0;
}
}
}
}
"example" != "Example".