执行代码时,变量不会增加

时间:2017-04-01 22:12:03

标签: java

如果玩家输入某个名称,则会调用并执行测试程序。

变量测试器 testerWrong ++ 执行时,不添加一个

private void Tester(){  

    int testerTotal;
    int testerScore;
    int testerWrong;
    testerTotal = 0;
    testerScore = 0;
    testerWrong = 0;

    System.out.println("");
    System.out.println("Hello tester, you're the designated tester. Would you like to take the quiz? Y/N");
    Scanner yesno = new Scanner(System.in);
    String YesNo = yesno.next();
    if(YesNo.equals("Y") || YesNo.equals("y")){                 //This type of code will appear very often
        System.out.println("Okay, let's being!");       //if the user input (YesNo) is Y or y then...
    }else{
        if(YesNo.equals("N") || YesNo.equals("n")){
            System.out.println("Okay, maybe some other time");
        }else{                                                  //else...
            System.out.println("Sorry, i do not recognise what you entered. Please restart the program.");
        }
    }
    System.out.println("");
    QUIZ enter = new QUIZ();
    enter.e2c();
    System.out.println("");
    System.out.println("");
    System.out.println("");
    System.out.println("Question #1");
    System.out.println("");
    System.out.println("The answer is A");
    System.out.println("");
    System.out.println(" - A. ");
    System.out.println(" - B. ");
    System.out.println(" - C. ");
    System.out.println(" - D. ");
    Scanner testerQ1 = new Scanner(System.in);      
    String TesterQ1 = testerQ1.next();
    if(TesterQ1.equals("A") || TesterQ1.equals("a")){
        testerScore++;
        System.out.println("Correct! You have answered " + testerScore + " correct and " + testerWrong + " incorrect!");
        System.out.println("");
        System.out.println("Next Question.");
        System.out.println("");
    }else{
        testerWrong++;
        System.out.println("Incorrect! You have answered " + testerScore + " correct and " + testerWrong + " incorrect!");
        System.out.println("");
    }

有没有办法让变量执行而不必在它之前添加系统输出?

由于

1 个答案:

答案 0 :(得分:1)

这不是一个最小的(太多的打印语句)甚至是完整的例子(不包括QUIZ类)。

将代码缩小到最小范例:

import java.util.Scanner;

public class Tester {
    public static void main(String args[]) {
        int testerScore = 0;
        int testerWrong = 0;

        System.out.println("The answer is A");
        Scanner scanner = new Scanner(System.in);
        String answer = scanner.next();
        if (answer.equals("A") || answer.equals("a")) {
            testerScore++;
            System.out.print("Correct!");
        }
        else {
            testerWrong++;
            System.out.println("Incorrect! ");
        }
        System.out.println(" You hve answered " + testerScore + 
            " correct and " + testerWrong + " incorrect!");
    }
}

这对我有用。将您的代码与此进行比较,看看您的行为有何不同。

如果找不到问题,请在调试器中运行代码。逐步完成程序,了解它的作用。

您可能还希望遵循Java命名约定(变量以小写字母开头,类以大写字母开头但不是全部大写),以便其他人更容易阅读您的代码。