我有一个字符串数组x,其中包含:chair,table,couch
我有第二个数组y,其中包括:椅子,勺子,桌子,刀,沙发,毛巾
我想检查是否使用了x中的所有单词,以及x中的单词在y中没有使用两次,例如:椅子,勺子,桌子,刀子,沙发,毛巾,椅子,冰箱在这个例子中椅子使用了两次。
我的方法是使用y的大小的for循环,然后通过每个其他索引,因为x的值总是按顺序,并创建一个测试用例数组,但我不知道如何检查是否使用了x的所有项目并检查它们是否未被使用两次
for(int i = 0 ; i < y.length; i+=2){
test[i] = x[i];
}
答案 0 :(得分:0)
您可以使用地图存储结果。例如:
Map<String, Integer> counters = new HashMap<>();
for(int i = 0; i < y.length; i++) { // Why do you use i+=2?
String sY = x[i];
if (counters.contains(sY)) {
counters.get(sY)++;
} else {
counters.put(sY, 1);
}
}
for(Don't know the type... counter, counters) {
if ( counter.value() > 1)
throw new IllegalStateException("You used " + counter.key() + " " + counter.value() + " times. Thats too much" );
}
请注意,此代码永远不会编译,但我希望,您有了想法。