求解代数方程

时间:2015-06-13 21:31:40

标签: java random

我创建了一个随机问题生成器。所有问题的形式如下:x = 3 /随机数。问题是该程序从未认识到用户的答案是正确的。我已经打印出答案并将其复制到答案输入(文本窗格)中,但它总是打印出来"错误。"

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    //Generates random value for n (2 decimal plcae)   
    double nMin = 1.0;//minimum
    double nMax = 38.6;//maximum
    Random rn = new Random();  
    double nRand = nMin + (nMax - nMin) * rn.nextDouble();

    //Calculates corresponding value of v
    String x = String.format("%.2f", 3/nRand );
    double nAns = Double.parseDouble(x);//corresponding value of c
    check.setText(x);

    //displays question
    question.setText("n = " + String.format( "%.2f", nRand ) + "     v = ?");//question
    String answer = answerInput.getText();
    Double nUserA = Double.parseDouble(answer);
    //checks user's answer
    if(x.equals(answer)) {
        check.setText("correct");
    }    
    else
        check.setText("wrong");   

}                                      

1 个答案:

答案 0 :(得分:1)

要比较Java中String是否等于另一个,您必须使用.equals()函数,而不是==。像这样:

s1.equals(s2);

假设s1s2Strings,因此您必须将条件更改为:

if(x.equals(answer))

我希望它对你有帮助!