【发布时间】:2016-07-23 08:30:54
【问题描述】:
这已经困扰我三天了。我正在尝试从文本字段中读取文本,检查值的长度是否大于零(使用 String 方法长度),然后创建一个循环。如果长度不大于零,我必须设置错误消息和错误标志(布尔变量为真)。我已经深入研究了 String 方法的文档,但我似乎无法让 length() 为我工作。你可以看到我对代码的实验。第一次发帖,如有错误请见谅。
private void setShipmentProperties() {
ship.setEmployeeNum(empNumTF.getText());
if(ship.setEmployeeNum(String(length()) < 0)) {
isDataEntryError = true;
msgLbl.setText("Pay rate must be a numeric " + "value: 1, 2, 3...");
}
ship.setShipmentNum(shipNumTF.getText(this.length()));
if(this.length() < 0) {
isDataEntryError = true;
msgLbl.setText("Pay rate must be a numeric " + "value: 1, 2, 3...");
}
ship.setSupplierName(supplTF.getText());
if(ship.length() < 0) {
isDataEntryError = true;
msgLbl.setText("Pay rate must be a numeric " + "value: 1, 2, 3...");
}
}
【问题讨论】:
-
使用 this.length 代替 this.length()
-
我假设 ship 是你的一个类,而 setEmployeeNum 是一个将字符串作为参数的方法。但是在调用它之后,你会立即用
String(length()) < 0)产生的任何东西再次调用它,这不是一个字符串。为什么不在将字符串传递给班级的 setter 之前对其进行测试? -
感谢大家的回复。 Ship 是一个对象,它最终会收集所有这些信息以将其传递给另一个对象。