我创建了一个随机问题生成器。所有问题的形式如下: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");
}
答案 0 :(得分:1)
要比较Java中String
是否等于另一个,您必须使用.equals()
函数,而不是==
。像这样:
s1.equals(s2);
假设s1
和s2
为Strings
,因此您必须将条件更改为:
if(x.equals(answer))
我希望它对你有帮助!