【发布时间】:2019-01-05 06:51:01
【问题描述】:
我有一个由数字组成的字符串,我想将其与单词数组的内容相匹配。
输入字符串中的每个字符都与单词数组中的位置匹配。
如果我在if 语句之前打印出i 和j 的值,它们是正确的,0 and 0、3 and 3 等。但是下面的循环永远不会进入if 语句。请帮助我理解原因。
String input = "0356";
String[] words = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
String[] result = new String[4];
for (int i = 0; i < input.length(); i++) {
for (int j = 0; j < words.length; j++) {
if (Character.toString(input.charAt(i)) == Integer.toString(j)) {
result[i] = words[j];
}
}
}
我正在寻找的结果:
result[] = {"zero","three","five","six"}
【问题讨论】:
-
字符串比较应始终使用
equals() -
Character.toString(input.charAt(i)).equals(Integer.toString(j))
标签: java arrays string loops char