poj 1936 一道简单问题问题:All in All

我的算法对的,老师runtimeerror这是哪错了?我是java写的:packageStringOperate;importjava.util.Scanner;publ... 我的算法对的,老师runtime error 这是哪错了?
我是java写的:
package StringOperate;

import java.util.Scanner;

public class AllInAll {
/*
* 算法思想,从头到尾一个一个判断即可。
*/

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String sub,str;
String[] data;
while(line != null) {
data = line.split(" ");
sub = data[0]; str = data[1];
if(sub.length() > str.length()) {
System.out.println("No");
} else {
int i,j;
i = j = 0;
while( i < sub.length() && j < str.length()) {
if(sub.charAt(i) == str.charAt(j++)) i ++;
}

if(i >= sub.length())
System.out.println("Yes");
else
System.out.println("No");
}
line = sc.nextLine();
}
}

}
展开
 我来答
capslock15
2012-05-20
知道答主
回答量:8
采纳率:0%
帮助的人:6.1万
展开全部
代码中:data = line.split(" ");//使用正则表达式“空格”切分字符串
如果输入的两个没有用空格分开 那么 data中就只有一个元素
执行str = data[1];语句时会出现数组下标越界异常如下所示:
erwt
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.work.test.AllInAll.main(AllInAll.java:17)
更多追问追答
追问
但题目上写着一定一行有两个字符串且以空格分开啊?
追答
你在控制台输入的时候要注意 :输入两个字符串用空个分开
如:wert werty
不二千石
2012-05-18 · TA获得超过672个赞
知道小有建树答主
回答量:171
采纳率:100%
帮助的人:113万
展开全部
java不是特别理解,但是,你的程序估计跳不出while循环吧!
这个应该就是你runtime error的原因了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式