字符串问题
String str1="abdaff"; String str2="fadjjxbf";
如果str1中的元素在str2中全部有,则输出true,否则输出false.
我做了好久都不能做出来。请用String或StringBuffer做。还有用集合类做。请用这两种方法做出来。写出必要的解释,谢谢
搜索更多相关的解决方案:
j2se
----------------解决方案--------------------------------------------------------
没必要用那么多类吧,一个String就能做了
----------------解决方案--------------------------------------------------------
程序代码:
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());
}
}
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());
}
}
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());
}
}
----------------解决方案--------------------------------------------------------
如果str1中的元素在str2中全部有
根据这句话的含义,那只要记录每个字母是否出现就可以了。
----------------解决方案--------------------------------------------------------