Java 尝试在使用if/else时实施评分系统。[爪哇]

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

我是java的初学者,我正在尝试一个评分系统,它使用我的if/else语句根据正确或错误的答案递增或递减。如果用户匹配文本文件中的文本,程序应递增,如果不正确,则递减。现在,程序将显示“-1”如果不正确和“1”如果正确,无论它通过循环多少次。它应该更改结果的值,但它会一直重置为“0”。我已经试过了,但我相信我在范围上有问题。如果有人能帮忙,我将非常感激

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我想如果他知道这一点,他就不会在这里发帖了。对不起,我说得很含糊。问题解决了,谢谢。啊,非常感谢,它很有效。我相信我试过了,但当时我可能又犯了一个错误。很高兴能帮上忙!继续并将此标记为已回答,这样每个人都知道您的问题已解决。