程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

程序从 if-else 语句输出错误的选项

发布于2021-09-19 22:48     阅读(130)     评论(0)     点赞(14)     收藏(1)


我一直在尝试用 Java 创建一个程序,该程序提出一个问题,然后根据用户的输入显示其中一个对话框。出于某种原因,当我单击正确的选项时,它给了我“不正确。正确答案是 A”。消息,虽然它应该说“正确!”。我怀疑check()方法(第 25 到 34 行中的某个地方有错误,但是我不太确定,因为代码看起来很简单,我无法真正确定什么是错误的,以及为什么程序不能正常工作. 有人可以帮忙吗?

import javax.swing.JOptionPane;
public class Quiz {

public static void main(String[] args) {
    String question = "What color is the hair of Disney princess Jasmine?\n";
    question += "A. Black\nB. White\nC. Green\nD. Blue\nE. Rainbow";
//  ask(question);
    check(question, "A");
}

static String ask(String question) {
    while (true) {
        String answer = JOptionPane.showInputDialog(question);
        answer = answer.toUpperCase();  

        if (answer.equals("A")) {
             return question.toUpperCase();
            }
        else if(!answer.equals("B") && !answer.equals("C") && !answer.equals("D") && !answer.equals("E")) {
             JOptionPane.showMessageDialog(null,"Invalid answer. Please enter A, B, C, D, or E.");  
        }
    }   
}

static void check(String question, String correctAnswer) {
    String answer = ask(question);  

    if (answer.equals(correctAnswer)) {
         JOptionPane.showMessageDialog(null,"Correct!");
    }
    else {
        JOptionPane.showMessageDialog(null, "Incorrect. The correct answer is A.");
    }
}

}


解决方案


你这里有一个小错误,

if (answer.equals("A")) {
     return question.toUpperCase();
}

它应该是

if (answer.equals("A")) {
     return "A";
}

另见check

String answer = ask(question);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/290000/ed343a88c0848e7aac6b/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)