【发布时间】:2015-12-14 04:38:45
【问题描述】:
我正在尝试检查两个字符串之间的编辑距离是否为 1
两个字符串之间的编辑是以下更改之一。
添加一个字符 删除一个字符 换个角色
我正面临“StringIndexOutOfBoundsException”。
我是否需要检查任何内容以防止我的代码中出现此异常?
public class OneDiff {
public OneDiff(String s,String s2){
int count=0;
for (int i=0;i<(s.length()+s2.length());i++){
if(s.charAt(i)!= s2.charAt(i)){
count++;
}
}
if(count==1){
System.out.println("one difference");
}
}
public static void main(String args[]){
String s= "xxx";
String s1="xxxy";
OneDiff od=new OneDiff(s,s1);
}
}
【问题讨论】:
-
哪个语句抛出异常?输入字符串是什么?请访问help center 并阅读How to Ask。
-
int length = 0; for (int i = 0; i < length - 1; i++) {长度为 0 你在 for 循环中使用length-1 -
给定length = 0,for循环不会运行。
-
很惊讶,您的代码是如何以及为什么会被执行的。由于长度初始化为零,您的 for 循环和 if 语句将不会执行
标签: java string exception indexoutofboundsexception