gpt4 book ai didi

Java 方法与字符的混淆

转载 作者:行者123 更新时间:2023-11-30 03:59:19 31 4
gpt4 key购买 nike

我正在尝试编写一个方法,该方法接受一个字符串和一个数组并打印出以下内容...

--- Name is "Abe"---
Adorable
Beautiful
Elegant

--- Name is "bob"---
Beautiful
Outstanding
Beautiful

我的代码...

public static void printReport(String name, String[] sortedArray)
{
System.out.println(name);
char c = '\0';
for (int i = 0; i <name.length()-1;i++)
{
c = name.charAt(i);
int index = c-'A';
System.out.println(sortedArray[index]);
}
}
}

其中 name 是...井名,sortedArray 是按字母顺序排列的 26 个形容词的数组。我试图使用 chars 的数值来打印出正确的形容词。我在

上遇到错误
System.out.println(sortedArray[index]);

似乎无法弄清楚为什么。非常感谢任何和所有的帮助。

最佳答案

您假设您的输入全部大写,但事实并非如此,因此当您到达 "Abe" 中的 'b' 时,您会运行陷入麻烦。 'b' - 'A' 有效 98 - 65 (33),如 (int)'b' 为 98,(int)'A' 为 65。33 超出了 0 的范围。.25(包含)数组。

在进行减法之前将字符设为大写。检查您的输入可能也是个好主意,例如,不要假设用户不会输入类似 '$' 的内容(这将为您提供索引 -29 )。 :-)

关于Java 方法与字符的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332730/

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