我有一个由用户填充的字符数组(arrayInput[]
)带有一些字符,例如 {b, d, a, b, f, a, g, a, a, f},我需要创建一个方法,该方法返回一个新的 char 数组,其中仅包含该字符的第一次出现,但按照输入的顺序。这本书还说“解决这个问题的一种方法是创建一个布尔数组来跟踪要维护的字符!”,但我无法想象布尔数组应该如何与其他数组一起使用。
主要问题是我可以保存在布尔数组中,如果arrayInput
包含特定字符,甚至包含多少次,但只在 for 中创建一个很长的分支 if-else,例如
if ((arrayOutput[i] == 'A') && (arrayControl[0] = false)) {
arrayControl[0] = true; }
where arrayOutput
是我想从该方法返回的数组,arrayControl[0]
是我在方法中创建的布尔数组中“A”的值。 A = 0,B = 1,...Z = 25,a = 26,b = 27,...51 = z。对于每个字符,无论大写还是小写,我都在数组中创建了一个位置,这样我就可以检查所有内容,但现在我不能再进一步了。我不知道如何保存角色arrayOutput
, 如何检查一个字符是否已经存在arrayOutput
如果它已经存在,则数组将传递该特定字符并转到下一个字符。
另外请记住我是一个新手,所以我对Java知之甚少。请尽可能地解释一下自己。提前致谢!
这可以工作:
public static void main(String[] args) {
Main main = new Main();
char[] array = {'e','a','b','a','c','d','b','d','c','e'};
main.getCharArray(array);
}
private char[] getCharArray(char[] array) {
String _array = "";
for(int i = 0; i < array.length; i++) {
if(_array.indexOf(array[i]) == -1) // check if a char already exist, if not exist then return -1
_array = _array+array[i]; // add new char
}
return _array.toCharArray();
}
Output:
eabcd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)