Java 尝试在使用if/else时实施评分系统。[爪哇]
我是java的初学者,我正在尝试一个评分系统,它使用我的if/else语句根据正确或错误的答案递增或递减。如果用户匹配文本文件中的文本,程序应递增,如果不正确,则递减。现在,程序将显示“-1”如果不正确和“1”如果正确,无论它通过循环多少次。它应该更改结果的值,但它会一直重置为“0”。我已经试过了,但我相信我在范围上有问题。如果有人能帮忙,我将非常感激Java 尝试在使用if/else时实施评分系统。[爪哇],java,if-statement,scope,Java,If Statement,Scope,我是java的初学者,我正在尝试一个评分系统,它使用我的if/else语句根据正确或错误的答案递增或递减。如果用户匹配文本文件中的文本,程序应递增,如果不正确,则递减。现在,程序将显示“-1”如果不正确和“1”如果正确,无论它通过循环多少次。它应该更改结果的值,但它会一直重置为“0”。我已经试过了,但我相信我在范围上有问题。如果有人能帮忙,我将非常感激 package typetrain; import java.util.*; import java.io.*; import javax.sw
package typetrain;
import java.util.*;
import java.io.*;
import javax.swing.*;
/**
*
* @author Haf
*/
public class Game1 {
public void Game () {
JOptionPane.showMessageDialog(null, "Please answer in the correct line of text. \n" +
"each line of text will grant you one point. "
+ "\nIncorrect answers will lead to a point being subtracted");
String fileName = "test.txt";
String line;
ArrayList aList = new ArrayList();
try {
BufferedReader input = new BufferedReader (new FileReader(fileName));
if (!input.ready()) {
throw new IOException();
}
while ((line = input.readLine()) !=null) {
aList.add(line);
}
input.close();
} catch (IOException e) {
System.out.println(e);
}
int sz = aList.size();
for (int i = 0; i< sz; i++) {
int result = 0;
String correctAnswer = aList.get(i).toString();
String userAnswer = JOptionPane.showInputDialog(null, "Copy this line of text! \n" + aList.get(i).toString());
if (correctAnswer.equals(userAnswer)) {
JOptionPane.showMessageDialog(null, "Correct!");
result++;
}
else if (!correctAnswer.equals(userAnswer)) {
JOptionPane.showMessageDialog(null, "Incorrect!");
result--;
}
JOptionPane.showMessageDialog(null, result);
}
package-typetrain;
导入java.util.*;
导入java.io.*;
导入javax.swing.*;
/**
*
*@Haf
*/
公共类游戏1{
公开无效游戏(){
JOptionPane.showMessageDialog(null,“请用正确的文本行回答。\n”+
“每行文字将给你一分。”
+“\n不正确的答案将导致扣分”);
字符串fileName=“test.txt”;
弦线;
ArrayList aList=新的ArrayList();
试一试{
BufferedReader输入=新BufferedReader(新文件读取器(文件名));
如果(!input.ready()){
抛出新IOException();
}
而((line=input.readLine())!=null){
列表.添加(行);
}
input.close();
}捕获(IOE异常){
系统输出打印ln(e);
}
int sz=aList.size();
对于(int i=0;i
}
}您只需移动
int result=0代码>到for循环之前的行。否则,每次都会重置为0。请指定出现问题的行。@MouseEvent我想如果他知道这一点,他就不会在这里发帖了。对不起,我说得很含糊。问题解决了,谢谢。啊,非常感谢,它很有效。我相信我试过了,但当时我可能又犯了一个错误。很高兴能帮上忙!继续并将此标记为已回答,这样每个人都知道您的问题已解决。