これは3日間私を悩ませています。テキストフィールドからテキストを読み取ろうとしていますが、値の長さが0より大きい(Stringメソッドの長さを使用)かどうかを確認してから、ループを作成します。長さがゼロより大きくない場合は、エラーメッセージとエラーフラグ(ブール変数をtrueに設定)を設定する必要があります。私はStringメソッドのドキュメントに掘り下げたが、私のために働くlength()を得ることができないようです。コードで私の実験を見ることができます。初めての投稿、申し訳ありませんが、これが間違っている場合。Stringメソッドの長さを使用して長さを確認してください
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を使用してください – mvikhona
私はshipがあなたのクラスであり、setEmployeeNumが文字列をパラメータとしてとるメソッドであると仮定します。しかし、それを呼び出した直後に、文字列ではない 'String(length())<0)'が何となく返します。 文字列をクラスのセッターに渡す前に文字列をテストしてみませんか? – BryanT
返信をお寄せいただきありがとうございます。 Shipは、最終的にこの情報をすべて集めて別のオブジェクトに渡すオブジェクトです。 –