赞
踩
package answer01;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class StringMatching {
public static void main(String[] args) { //输入两组字符串 Scanner in = new Scanner(System.in); String A = in.nextLine(); String B = in.nextLine(); //匹配字符串 String str =""; int i = 0; Set<String> result = new HashSet<>(); while(i<A.length()) { //拆分字符串,转换成字符数组 char[] a = A.toCharArray(); char[] b = B.toCharArray(); //进行匹配 if(i<B.length() && (a[i] == b[i] || b[i] == '?')) { //若匹配成功,则拼接字符串.这里最好用StringBuffer str+=a[i]; if(str.length() == B.length()) { result.add(str); } i++; } else { //如果拼接不成功,成将A字符串裁剪一位,并将i赋值为0,字符串str赋值为空. A = A.substring(1); i = 0; str = ""; } } //输出结果 System.out.println(result.size()); for (String s : result) { System.out.println(s); } }
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。