我不需要一个确切的解决方案因为这是家庭作业,但我遇到了一件事:
如果我有一个由3 a 2 b 1 c
组成的字符串
我需要获取整数并添加它们,然后获取字符并将每个字符转换为数字等级,但我不知道如何做到这一点。没有nextChar()
方法吗?
答案 0 :(得分:2)
这是一个非常简单的选择。
我会让你完成如何处理每种不同的类型。
String[] contents = "3 a 2 b 1 c".split(" ");
int i = 0;
for (String c : contents) {
if (i % 2 == 0) {
// do something to handle the characters
}
else {
// do something to handle the numbers
}
i++;
}
答案 1 :(得分:1)
在java中更容易,因为char和短数字意味着相同,你只需要强制简短:
int total = 0;
for(char a : "ABCDE".toCharArray()) {
total += (short)a;
}
这将添加字符的ASCII值,如果您的字符有任意值,则只需添加转换地图:
Map<Character, Integer> charValues = new HashMap<>();
charValues.put('A', 5);
charValues.put('B', 7);
charValues.put('C', 15);
int total = 0;
for(char a : "ABCDE".toCharArray()) {
total += charValues.get(a);
}