gpt4 book ai didi

java - Java map 中的错误是什么?

转载 作者:行者123 更新时间:2023-12-01 07:42:14 24 4
gpt4 key购买 nike

我正在尝试解决这个问题:http://www.cstutoringcenter.com/problems/problems.php?id=4 ,但我不明白为什么我的代码不能解决这个问题,我的意思是在“for”中我怎样才能将字母相乘?我的错误是什么?它总是显示 7,但我想将所有字母相乘。我希望你能帮助我。

public class ejercicio3 {

public static void main(String args[]) {

Map<Character, Integer> telefono = new HashMap<Character, Integer>();

telefono.put('A', 2);
telefono.put('B', 2);
telefono.put('C', 2);
telefono.put('D', 3);
telefono.put('E', 3);
telefono.put('F', 3);
telefono.put('G', 4);
telefono.put('H', 4);
telefono.put('I', 4);
telefono.put('J', 5);
telefono.put('K', 5);
telefono.put('L', 5);
telefono.put('M', 6);
telefono.put('N', 6);
telefono.put('O', 6);
telefono.put('P', 7);
telefono.put('R', 7);
telefono.put('S', 7);
telefono.put('T', 8);
telefono.put('U', 8);
telefono.put('V', 8);
telefono.put('W', 9);
telefono.put('X', 9);
telefono.put('Y', 9);

String mensaje = "Practice";
int producto = 1;

for (char c : mensaje.toCharArray()) {
if (telefono.containsKey(c)) {
producto = telefono.get(c) * producto;
System.out.println(producto);
}
}
}
}

最佳答案

首先将字符串转换为全部大写!

它只找到第一个字符“P”,它给出的正确答案是 7。

尝试改变:

for (char c : mensaje.toCharArray()) {

for (char c : mensaje.toUpperCase().toCharArray()) {

关于java - Java map 中的错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2795076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com