繁体   English   中英

您如何测试charAt(0)的值?

[英]How do you test the value of charAt(0)?

因此,我正在编写一个代码,询问用户是否希望被推荐为新宠物。 我给他们一个消息对话框,要求他们输入Y表示“是”,输入N表示“否”。这是我的代码,到目前为止,我没有得到某些提示。 最大的问题是如何测试他们输入的值是Y还是N。他们给出的答案可以是小写或大写。 我该如何编码?

public static void aPet()
{
    char answer;
    String newPet;
    newPet = JOptionPane.showInputDialog(null,"Would you like to recommend another pet?(Y), or Stop (N)","Another Recommendation?", JOptionPane.QUESTION_MESSAGE);
    answer = newPet.charAt(0);
    if (answer == y || answer == Y)
    {
        //methods to recommend pet
    }
        if (answer == n || answer == N)
        {
            System.exit(-1);
        }
}

您需要使用实际的字符文字,而不仅仅是字母:

if (answer == 'y' || answer == 'Y')

在代码中用单引号将字母引起来来表示字符(它们也可以用其他方式表示,但这是最简单的)。

您可以在《 Java教程》>“ 原始数据类型”中阅读有关此内容的内容,其中包括:

始终对字符文字使用“单引号”,对于字符串文字始终使用“双引号”。

您缺少值'y''n'单引号:

尝试这个:

char answer = newPet.charAt(0);
if('y' == answer || 'Y' == answer) {
    // recommend pet
} else {
    // exit
}

要么

已编辑

if(newPet.matches("y|Y")) {
    // recommend pet
} else {
    // exit
}

要么

if("y".equalsIgnoreCase(newPet)) {
    // recommend pet
} else {
    // exit
}

您可以像这样使用Character#toUpperCase()

if (Character.toUpperCase(answer) == 'Y')
{
    //methods to recommend pet
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM