嗨我正在创建一个sortOf使用javafx8的银行应用程序。我似乎在添加新帐户方面遇到了麻烦。我想要做的是创建一个循环来读取列表,如果存在相同的帐号并提示用户它已经存在。你能检查我做错了吗?通过Arrayyl循环java循环
BTW I have corrected out all the typo's Eclipse always asks me to correct those before compiling
这是我主要的应用程序列表 private ObservableList<Person> personData = FXCollections.observableArrayList();
这里是我做访问另一个类的列表
public ObservableList<Person> getPersonData() {
return personData;
}
而且在这里我PersonEditDialogController类来访问列表它是这样做的
MainApp mainapp = new MainApp();
ObservableList<Person> personData = mainapp.getPersonData();
这里是我的代码来验证用户输入
private boolean isInputValid() {
String errorMessage = "";
if (accountNumField.getText() == null || accountNumField.getText().length() == 0) {
errorMessage += "Not a valid account number!\n";
}
//TO LOOP THROUGH THE LIST
Person person = null;
for (Person a : personData) {
if ((accountNumField.getText().equalsIgnoreCase(a.getaccountNum()))){
person = a;
break;
}
}
// CODE THAT DOES NOT WORK
if (accountNumField.getText().equals(person)){
errorMessage += "Account number already exist\n";
}
if (errorMessage.length() == 0) {
return true;
} else {
// Show the error message.
Dialogs.create()
.title("Invalid Fields")
.masthead("Please correct invalid fields")
.message(errorMessage)
.showError();
return false;
}
}
我们将需要比此更多的信息,例如什么是accountNumField?我们可能还需要了解更多关于Person的信息... – DreadHeadedDeveloper 2014-10-05 02:55:53
accountNumField是一个文本框的分配,用户可以在其中输入想要的帐号 – Onedaynerd 2014-10-05 02:59:32
ok,那么Person呢?我问,因为你有行accountNumField.getText()。等于(人),这是否意味着人员扩展字符串或东西? equals()方法在这种情况下甚至可以使用吗? – DreadHeadedDeveloper 2014-10-05 03:04:05