Java JOptionPane-正确/不正确答案
所以我是编程新手,我一直在尝试做一个简单的程序来练习 它问你问题,你回答 我似乎无法让它正常工作。它不是说它是正确的,就是说它是不正确的 这是我的密码Java JOptionPane-正确/不正确答案,java,joptionpane,Java,Joptionpane,所以我是编程新手,我一直在尝试做一个简单的程序来练习 它问你问题,你回答 我似乎无法让它正常工作。它不是说它是正确的,就是说它是不正确的 这是我的密码 // Questions String q1; JOptionPane.showInputDialog(null, "1). What is the name of our sun?"); if(q1 == "Sol") { JOptionPane.showMessageDialog(null, "Co
// Questions
String q1;
JOptionPane.showInputDialog(null, "1). What is the name of our sun?");
if(q1 == "Sol") {
JOptionPane.showMessageDialog(null, "Correct!");
}
else {
JOptionPane.showInputDialog(null, "Sorry that is incorrect :(");
}
我缺少什么?首先为q1赋值,否则将比较空值 其次,不能使用相等运算符==进行字符串比较。您需要使用字符串的equals方法。因此,q1等于(“Sol”) 对于初学者来说,这是一个基本的编程错误。如果将==与字符串一起使用,它将比较字符串的对象引用,而不是它们存储的实际值。假设一个字符串s1位于内存位置1000中,其值为“Answer”,字符串s2位于内存位置1001中,其值为“Answer” 这当然是错误的。你要做的是比较
"Answer" == "Answer". For that you need to use s1.equals(s2)
这对每种非基本类型都很重要!每个对象都有相等的方法,可以使用该方法比较对象的值。对于基本类型byte、char、short、int、long,您可以继续使用==来比较值。q1始终为空。您从不给它赋值。首先,欢迎使用堆栈溢出将此
q1=JOptionPane.showInputDialog(无论您想要什么)
。也可以使用equals
来比较字符串而不是=
。谢谢!这就成功了!啊好的。这有助于我更好地理解它!谢谢
"Answer" == "Answer". For that you need to use s1.equals(s2)