1542161208 2017-09-13 15:30 采纳率: 100%
浏览 1095
已采纳

java实现BF算法求一个字符串在另一个字符串中的位置出现空指针异常:

import java.util.Scanner;
//这是我的代码
public class Demo8 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String str1 = s.nextLine();
System.out.println("请输入第二个字符串:");
String str2 = s.nextLine();
System.out.println("请输入两个字符串:");
int index = find(str1,str2);
System.out.println("str2在str1中的位置为:"+index);
}
public static int find(String str1,String str2){//接收两个字符串
int index = 0;//主串从下标0开始第一趟匹配
int i = 0,j = 0;设置比较的起始下标
char[] arr1 = str1.toCharArray();//转换成字符数组
char[] arr2 = str2.toCharArray();
while(arr1[i]!='\0' && arr2[j]!='\0'){
if(arr1[i]==arr2[j]){
i++;
j++;
}else{
index++;
i = index;//i,j分别回溯
j = 0;
}
}
if(arr2[j]=='\0'){
return index+1;//返回本趟匹配的开始位置(不是下标)
}
return -1;
}
}
高手请帮我看一下!ArrayIndexOutOfBoundsException

  • 写回答

4条回答

  • 姜某人 2017-09-14 01:53
    关注

    这不是C语言,!='\0'在Java中是不规范的~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧