首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java方法与Chars混淆

Java方法与Chars混淆
EN

Stack Overflow用户
提问于 2014-03-11 17:53:48
回答 1查看 36关注 0票数 1

我试图编写一个接收字符串和数组的方法,然后打印出以下内容.

代码语言:javascript
复制
--- Name is "Abe"---
Adorable
Beautiful
Elegant

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

我的密码..。

代码语言:javascript
复制
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]);
    }
}
}

名字在哪里..。sortedArray是一个按字母顺序排列的26个形容词组成的数组。我试图用字符的数值来打印出正确的形容词。我发现了一个错误

代码语言:javascript
复制
System.out.println(sortedArray[index]);

似乎不知道为什么。所有的帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-11 17:56:22

假设您的输入是大写的,但它不是,所以当您到达'b' in "Abe"时,就会遇到麻烦。'b' - 'A'实际上是98 - 65 (33),(int)'b'是98,(int)'A'是65。33超出了0..25 (包含)数组的范围。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22332730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档