字符串问题
String str1="abdaff"; String str2="fadjjxbf";
如果str1中的元素在str2中全部有,则输出true,否则输出false.
我做了好久都不能做出来。请用String或StringBuffer做。还有用集合类做。请用这两种方法做出来。写出必要的解释,谢谢
public class StringTest { private String str1="abdaffg"; private String str2="fadjjxbf"; public boolean test(){ for(int i=0;i<str1.length(); i++){ if(str2.indexOf(str1.charAt(i)) == -1) return false; } return true; } public static void main(String[] args) { StringTest t = new StringTest(); System.out.println(t.test()); } }
import java.util.ArrayList; import java.util.Collections; //用集合类做 public class StringTest2 { private String str1="abdaff"; private String str2="fadjjxbf"; private ArrayList<Character> list; public StringTest2(){ list = new ArrayList<Character>(); for(int i=0; i<str2.length(); i++){ list.add(str2.charAt(i)); } } public boolean test(){ Collections.sort(list); for(int i=0; i<str1.length(); i++){ if(Collections.binarySearch(list, str1.charAt(i)) < 0){ return false; } } return true; } public static void main(String[] args) { StringTest2 t = new StringTest2(); System.out.println(t.test()); } }