求字符数组中是否存在指定的子串

本文介绍如何使用Java编写一个静态函数strcompare和index,分别检查字符数组是否包含指定子串。通过strcompare比较子串,index函数寻找子串首次出现的位置。适用于字符串处理和基本算法实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:求字符数组中是否存在指定的子串
(可以试试将字符串从第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));

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值