题目:求字符数组中是否存在指定的子串
(可以试试将字符串从第i个字符长为j的子串求出这个步骤也独立成一个函数)
注意:
java声明函数需要加static
public class substring {//求主串中是否存在特定子串
static int strcompare(char[] arr,char[] brr){//必须有static
for(int i=0;i<arr.length&&i< brr.length;i++){
if(arr[i]!=brr[i]){
return arr[i]-brr[i];
}
}
return arr.length- brr.length;
}
static int index(char []arr,char[] brr){
int k=0;
char [] crr= new char[brr.length];
for(int i=0;i<arr.length- brr.length+1;i++){
k=0;
for(int j=i;j<i+ brr.length;j++){
crr[k]=arr[j];
k+=1;
}
for(int h=0;h<brr.length;h++)
{
System.out.print(crr[h]);
}
if(strcompare(crr,brr)==0){
return i;
}
}
return -1;
}
public static void main(String[] args) {
char[] arr={'a','b','c','d','e'};
char[] brr={'c','d'};
System.out.println(strcompare(arr,brr));
System.out.println(index(arr,brr));
}
}
本文介绍如何使用Java编写一个静态函数strcompare和index,分别检查字符数组是否包含指定子串。通过strcompare比较子串,index函数寻找子串首次出现的位置。适用于字符串处理和基本算法实践。
2752

被折叠的 条评论
为什么被折叠?



