uva - All in All

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
	while(in.hasNext()){
		String s1=  in.next();
		String s2 = in.next();
		int index = 0;
		for(int i=0;i < s2.length();i++)
		{
			if(s2.charAt(i) == s1.charAt(index)) index++;
			if(index == s1.length()) break;
		}
		if(index == s1.length()) System.out.println("Yes");
		else System.out.println("No");
	}
	}
}

小结

if(index == s1.length()) break;

这一行代码最值得注意。没有这行代码,则会出现下面这种情况

这里写图片描述
所以清注意思考这个地方为什么会报错。

其实代码出错在这个\n,看我的测试

这里写图片描述

此时换行符相等了,index增加到了5,导致判断会出错,因为我们看到原本有5个字符串,应该index只到4,这里却由于换行符的干扰导致错误,所以应该index一满就break;这样也节约了时间。

posted @ 2016-08-29 09:19  lateral  阅读(226)  评论(0编辑  收藏  举报