我有一个由数字组成的字符串,我想将其与单词数组的内容进行匹配。
输入字符串中的每个字符都与单词数组中的位置匹配。
如果我在 if
语句之前打印出 i
和 j
的值,它们是正确的,0 和 0
、3 和 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()
而不是==
所以改变
if (Character.toString(input.charAt(i)) == Integer.toString(j))
至
if (Character.toString(input.charAt(i)).equals(Integer.toString(j)))
关于java - 如何将字符串的字符与数组的索引相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51569932/