- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的提交按钮中,if/else if 语句对于我的正确/不正确输出无法正常工作。
例如问题:维多利亚在哪里?答案:不列颠哥伦比亚省 - 不正确。但是,如果我回答:艾伯塔省或不列颠哥伦比亚省,那就是正确的。我不明白这个错误。如果我写的省份不完整,就会出现错误,如果省份写错了,则不会出现错误。
我该如何解决这个问题?
这是我的代码:
提交按钮代码
private void submitButtonActionPerformed(java.awt.event.ActionEvent evt) {
outputDegree.setText(null);
if (inputAnswer.getText().equals(provinces.get(0))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(1))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(2))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(3))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(4))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(5))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(6))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(7))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(8))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(9))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(10))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(11))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else if (inputAnswer.getText().equals(provinces.get(12))) {
outputDegree.setText("Correct");
nextQuestion.setEnabled(true);
}
else {
outputDegree.setText("Incorrect, try again!!");
nextQuestion.setEnabled(false);
}
显示答案和可能的答案(1 个正确,3 个错误)
private void nextQuestionActionPerformed(java.awt.event.ActionEvent evt) {
boolean trueOrFalse;
outputTextQuestion.setText(null);
outputTextQuestion.setText(setQuestions().toString());
outputAnswers.setText(null);
inputAnswer.setText(null);
outputDegree.setText(null);
clicked++;
int buttonLimit = 4;
if (clicked <= buttonLimit) {
int correctAnswer = -1;
for (int x = 0; x < cities.size(); x++)
{
if (trueOrFalse = outputTextQuestion.getText().contains(cities.get(x)))
{
correctAnswer = x;
break;
}
}
randomAnswers = new ArrayList <Integer>();
Collections.addAll(randomAnswers, correctAnswer);
for (int x=0; x < 3; x++)
{
int r = correctAnswer;
while (randomAnswers.contains(r))
{
r = ((int)(Math.random()*100))%cities.size();
}
Collections.addAll(randomAnswers, r);
}
Collections.shuffle(randomAnswers);
outputAnswers.setText(null);
for (int r=0; r<randomAnswers.size(); r++) {
int hint = randomAnswers.get(r);
outputAnswers.append(provinces.get(hint) + "\n");
}
}
else{
nextQuestion.setEnabled(false);
submitButton.setEnabled(false);
outputTextQuestion.setText("Start new round");
outputDegree.setText(null);
}
我还使用 ArrayList,例如城市、省份、randomAnswers。我只是没有展示我的整个程序,因为它太大了。如果需要的话我可以。
我在 Netbeans 中执行此操作,并且该程序是一个 GUI
提前致谢!!
最佳答案
不知道代码的哪一部分应该执行您期望的操作,以及您期望部分输入匹配的情况,原因如下:
在第一个方法中,您使用equals()
。部分匹配永远不会等于全文。
在第二种方法中,您使用的是 contain()
,但方向相反:getText().contains(cities.get(x))
部分文本 bert
不包含完整文本 Alberta
。这是另一种方式,即 Alberta
包含文本 bert
。
关于java - if/elseif 语句的输出不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44532407/
使用之间真的有什么区别吗 If(this) { } Else If(that) { } Else { } 或使用, If(this) { } If(that) { } Else { } ? 执行速度更
我想在 netlogo 中有一个 if elseif else if else 结构,但目前它似乎不起作用。 ifelse random 100 < 68 [ set HBB-Genes "A,A
This question already has answers here: PHP parse/syntax errors; and how to solve them (19个回答) 2年前关闭
我正在通过特定于国家/地区的代码过滤我网站上的一些内容,我正在尝试添加 else 语句,这样它就不必将每个部分都作为单独的代码运行,除非我尝试的任何操作都会出错: 上面给出了以下错
每个人! 我有一个沉重的文件,在 A 和 D 列中有不同的值。 现在我想让这个脚本完成以下操作: 如果 A 列中的值是 D 列中的“选项一”和“K”,则删除这一整行。 此外,如果 A 列中的值为“选项
我正在编写一个脚本,允许用户按名称或数字输入月份。在下面的语句中,我可以在输入框和行中输入任何我想要的内容: ElseIf sMonthOfMaintenance = "1" Or "2" O
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
当语句 block 相当短时,我喜欢在多行中构造 if {} {} elseif {} {} ,如下所示。 if {cond1} {do1} elseif {cond2} {do2} elseif {
在我的提交按钮中,if/else if 语句对于我的正确/不正确输出无法正常工作。 例如问题:维多利亚在哪里?答案:不列颠哥伦比亚省 - 不正确。但是,如果我回答:艾伯塔省或不列颠哥伦比亚省,那就是正
当语句 block 相当短时,我喜欢在多行中构造 if {} {} elseif {} {} ,如下所示。 if {cond1} {do1} elseif {cond2} {do2} elseif {
我有这段代码: @Override public void inform(String data) { if (data.equals(C.SubscriptionEvents.WINDOW_
你好,我是 PHP 新手。 所以我在这里有一个查询,检查数据库中订单总计的状态是否设置为1或0 $chk_dscnt=mysql_query("SELECT * FROM `discount` WHE
我正在努力学习 C++。当我尝试执行 else 时,它没有按我认为的方式工作。 我已经尝试了所有我能想到的。 #include using namespace std; int main() {
我正在尝试使我的表单验证和数据库插入脚本正常工作,但再次遇到问题。我正在使用 elseif 语句来执行以下操作: 检查表单是否确实是由用户单击提交按钮提交的,并且所有数据字段均已填写,如果没有,则发出
如果我有两个参数“parameterX”和“parameterY” 我将使用“parameterX”和“parameterY”来推荐 sql snytax 喜欢 select * from test.
首先,当我提交时,我的选择选项有效,但我的输入字段无效。我正在使用 if else if 语句根据选项查询我的数据库。 我怀疑这部分 elseif 不起作用: elseif ($option == "
我在一些 if-else 子句中挣扎,想就如何设置逻辑提出建议。 我有以下代码: //if isset a or b if (isset(a) || isset(b) ) { //if
我试图在 Python 的 PuLP 中构建 If-Then-Else-If... 条件。 我查看了 MIP 中的 If-Then 和 If-Then-Else。但是,我试图了解如何将选择进一步向下传
虽然在这个程序中,我必须在一个循环中一次又一次地输入温度。当我输入温度后显示正确时,但是当我再次输入温度时程序自行终止。 代码是: import java.util.Scanner; public c
我的问题是如何用数学公式替换那些 if? if ($l 的形式.那是什么东西? 就像你说的,每 500 级你提高 20。所以我们知道我们移动 20/500对于每 1 个级别(因为好吧,如果我们将其乘以
我是一名优秀的程序员,十分优秀!