【发布时间】:2013-12-08 04:55:35
【问题描述】:
我有 2 个数组:一个包含单词 (words_array),另一个包含字母 (letters_array)
我循环遍历 words_array 并在循环内循环遍历字母数组
在第二个循环中,我做了一个条件“如果单词在字母数组中包含一个字母,则将它除以某种方式,否则它应该按原样打印单词”
但它不起作用,因为它会打印重复的单词。
这是我的代码:
for (int i = 0; i < words_array.length; i++) {
for (int j = 0; j < letters_array.length ;j++ ) {
if (arryWords[i].contains(letters[j]+"")) {
int wordLength = arryWords[i].length();
int letterIndex = arryWords[i].indexOf(letters[j]);
String sub = arryWords[i].substring(0, letterIndex + 1);
System.out.println(sub);
System.out.println(arryWords[i].substring(letterIndex + 1, wordLength));
} else if (!arryWords[i].contains(letters[j] + "")) {
System.out.println(arryWords[j]);
}
}
}
但实际结果是:
hello
hello
hello
he
llo
我想,如果这个词在letters_array中没有任何字母,它只打印一次,如果这个词在letters_array中有一个字母,它应该在创建的位置分成两个2部分我在代码中写的字母。
谢谢。
【问题讨论】:
-
如果您告诉我们预期结果与实际结果有何不同,将会有所帮助。
标签: java for-loop nested-loops