发布于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黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!