for(i=0;i<m1.length();i++)
for(j=0;j<m2.length();j++)
if(m1.charAt(i)==m2.charAt(j)){
intersection=intersection+m1.charAt(i);
m2.charAt(j)=' ';
}
System.out.println(intersection);
} while(devam==false);
}
}
这是我的代码。并且我们不允许使用方法或数组,我们只是初学者。我的代码在m2.charAt(j)=' ';
处给出了错误>。我写那行是因为,当我们找到交叉点时,我们不应该再次检查该元素。您能帮忙吗?
最佳答案
你不能修改字符串的内容
m2.charAt(j)=' ';
改为这样做
m2 = m2.replace(m2.charAt(j), ' ');
请注意,replace() 将替换字符串中等于第一个参数的第一个字符。我假设,既然字符串代表一个集合,就不会出现重复的字符。如果有并且您想替换所有它们,只需使用replaceAll()即可。
关于java - 在java中查找两个多重集的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14610317/