我创建了此代码以检查计算器的文本字段是否包含任何内容。如果文本字段中包含内容,则应显示 regfit.best <- regsubsets(Salary ~.,data= data[train,],nvmax = coll)
test.mat <- model.matrix(Salary ~.,data=data[test,])
val.errors[i]= mean((Hitters$Salary-pred)^2)
。否则,它应在文本字段中显示"."
。问题是if条件总是计算为false。
"0."
答案 0 :(得分:2)
字符串将为""
,而不是null。使用dott.isEmpty()
查看dott
是否没有内容。 Here是另一篇文章,其中详细介绍了.compareTo("")
和.isEmpty().
答案 1 :(得分:1)
我认为你可以做到:
if(dott.equals(""))
答案 2 :(得分:0)
尝试这个String方法:
if(dott.isEmpty())
//your code
或者您也可以使用:
if(dott.compareTo("")==0)
// your code
答案 3 :(得分:0)
尝试类似:
String dott = ...;
dott.isEmpty();
或
dott.equals("");
答案 4 :(得分:0)
String dott=display.getText();
if(dott==null) // original code; should use isEmpty()
{
display.setText(display.getText()+"0.");
}
但是你已经知道display.getText()是空的,为什么要再次执行呢?对于&#34; else&#34;子句 - 你已经知道了价值。所以你应该写:
String dott=display.getText();
if(dott.isEmpty()) {
display.setText("0.");
} else {
display.setText(dott+dot.getText());
}
或者更简洁:
String dott=display.getText();
String text = dott.isEmpty() ? "0." : dot.getText();
display.setText(text);
甚至:
String dott=display.getText();
display.setText( dott.isEmpty() ? "0." : dot.getText() );
答案 5 :(得分:0)
将(dott == null)替换为
如果(dott.equals( “”))
答案 6 :(得分:0)
如果需要,您可以使用StringUtils
的apache。链接:https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
private void dotActionPerformed(ActionEvent evt){
String dott=display.getText();
if( StringUtils.isEmpty(dott))
{
display.setText(display.getText()+"0.");
}
else
{
display.setText(display.getText()+dot.getText());
}
}