【发布时间】:2013-01-14 15:23:45
【问题描述】:
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)=' '; 处出错。我写那行是因为,当我们找到一个交叉点时,我们不应该再次检查那个元素。你能帮忙吗?
【问题讨论】:
-
它抛出的错误是什么?你可以添加那个堆栈跟踪吗?还要添加您的输入和预期输出。
-
您不能操纵
String对象,它们是不可变的。提示:尝试使用在for循环之外声明的变量来跟踪位置,而不是将其设置为空格字符。 -
如果我们的第一个多重集是 1 1 2 1 1 3 1 4 而第二个多重集是 1 3 5 2 1 我们的交集应该是 1 1 3 2。例如。
-
String.charAt(int i)返回存在于String的indexi 处的字符。它不用于在String的索引i 处分配新值。 -
我忘记了。好吧,我怎样才能将 m2 字符串中的那个字符更改为 ' ' ?
标签: java