【发布时间】:2015-08-08 12:53:06
【问题描述】:
我有一个由用户 (arrayInput[]) 填充的字符数组,其中包含一些字符,例如 {b, d, a, b, f, a, g, a, a, f},我需要创建一个该方法返回一个新的 char 数组,该数组仅包含第一次出现的字符,但按输入顺序排列。这本书还说“解决这个问题的一种方法是创建一个布尔数组来跟踪要保存的字符!”,但我无法想象布尔数组应该如何与其他数组一起使用。
主要问题是如果arrayInput 包含特定字符,我可以保存在布尔数组中,甚至可以保存多少次,但只能将一个很长的分支 if-else 创建为 for,例如
if ((arrayOutput[i] == 'A') && (arrayControl[0] = false)) {
arrayControl[0] = true; }
arrayOutput 是我想从方法返回的数组,arrayControl[0] 是我在方法中创建的布尔数组中的“A”值。 A = 0, B = 1, ... Z = 25, a = 26, b = 27, ... 51 = z。对于每一个字符,大写和小写,我在数组中创建了一个位置,所以我可以检查所有内容,但现在我不能再进一步了。我不知道如何在arrayOutput 上保存字符,如何检查一个字符是否已经在arrayOutput 上,如果它已经存在,则数组传递该特定字符并转到下一个。
另外请记住我是新手,所以我对 Java 知之甚少。请尽你所能解释你自己。提前致谢!
【问题讨论】:
-
使用布尔数组的提示:不要检查
false。而是检查true并从数组中删除如果值已经是true当您访问它。 -
没错!我会把小费保存在书上,谢谢!
标签: java arrays char duplicates