假设现在我有两个字符串数组:
字符串数组一、String[] str1={"A","B","C"};
字符串数组二、String[] str2={"A","B"};
我现在想实现这样的功能:对比这两个字符串数组,然后过滤出str2数组中包含str1中不包含的元素,
比如说现在str2这个数组中不包含"C",那么应该如何对比这两个数组str1、str2,最后返回"C"呢?
望大神给个思路,不甚感激。
可以定义2个方法,一个是public boolean Search(String[] str1,String str2 ){}//用于检测str1中是否包含str2,另一个方法是public boolean Remove(String[] str1,String str2 ){}//用于在str1[]中删除str2字符串,之时这样会破坏原有的数据。
也可以单纯的用2此循环来比较,并将结果写入到自定义的字符串数组里
也可以单纯的用2此循环来比较,并将结果写入到自定义的字符串数组里
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-10-28
两个for嵌套。
外层遍历str1,内层遍历str2,
写个变量flag表示是否有符合字符。每次拿到str1的元素之后遍历str2,如果2中有元素,变量flag就是true,否则就是false,内层循环结束的时候看看flag的值,决定是否输出。继续外层循环。
就是两个for嵌套的事。easy追问
外层遍历str1,内层遍历str2,
写个变量flag表示是否有符合字符。每次拿到str1的元素之后遍历str2,如果2中有元素,变量flag就是true,否则就是false,内层循环结束的时候看看flag的值,决定是否输出。继续外层循环。
就是两个for嵌套的事。easy追问
可否码一下代码.... - -。
第2个回答 推荐于2018-03-28
public class Arrs{
public static void main(String[] args){
String[] str1 = {"A","B","C"};
String[] str2 = {"A","B"};
String falses = "";
for(int i = 0; i < str1.length; i++){
int num = 0;
for(int j = 0; j < str2.length; j++){
if(str1[i].equals(str2[j])){
num = num+1;
}
}
if(num == 0){
falses += str1[i];
}
num = 0;
}
System.out.println(falses);
}
}本回答被提问者和网友采纳
public static void main(String[] args){
String[] str1 = {"A","B","C"};
String[] str2 = {"A","B"};
String falses = "";
for(int i = 0; i < str1.length; i++){
int num = 0;
for(int j = 0; j < str2.length; j++){
if(str1[i].equals(str2[j])){
num = num+1;
}
}
if(num == 0){
falses += str1[i];
}
num = 0;
}
System.out.println(falses);
}
}本回答被提问者和网友采纳
第3个回答 2013-10-28
外面遍历一个数值,内部再遍历一个啊。