【发布时间】:2015-10-26 02:15:55
【问题描述】:
我正在构建一个程序,我必须逐字扫描文档,解析这些单词以删除非法字符,然后将每个单词分配给哈希映射。为此,我将单词中的每个字母添加到字符数组列表中,然后使用增强的 for 循环将该数组列表转换为数组,然后将该数组转换为字符串。问题是,每当我尝试使用数组列表的大小来初始化字符数组时,它会引发可能的精度损失错误,并且似乎希望我将值作为字符而不是整数输入。如何解决此问题并让我的阵列正常工作?请帮忙!
while ( in .hasNext()) {
String input = in .next();
Scanner characterizer = new Scanner(input);
characterizer.useDelimiter("");
int counter = 0;
ArrayList < Character > placeHolder = new ArrayList < Character > ();
while (counter < input.length()) {
char character = characterizer.next().charAt(counter);
if (character != '(' && character != ')' && character != '.' && character != '-' && character != '$' && character != '?' & character != '!' && character != ';' && character != ':' && character != '"' && character != '&' && character != '#' && character != '*') {
placeHolder.add(character);
}
counter++;
}
final int LENGTH = placeHolder.size();
char[] word = new char[] {
LENGTH
};
//this code will used the enhanced for loop to copy the contents of placeHolder into word and then convert it to a string
}
【问题讨论】: