Я хочу добавить информацию о пользователе и отклонить его, если идентификатор пользователя уже существует. В настоящее время в моем коде отображается «ID уже существует!» но все равно добавляет информацию о пользователе.
это мой код:
String id = EditManagerID.getText();
String password = EditManagerPassword.getText();
String name = EditManagerName.getText();
String contact = EditManagerContact.getText();
String address = EditManagerAddress.getText();
String role = EditManagerRole.getText();
try
{
String reader;
BufferedReader br = new BufferedReader(new FileReader("ManagerDetails.txt"));
while ((reader = br.readLine())!=null)
{
String[] split = reader.split(",");
if (id.equals(split[0]))
{
JOptionPane.showMessageDialog(null, "ID already exists!", "Warning", JOptionPane.WARNING_MESSAGE);
}
}
}
catch(Exception e)
{
}
if (id.isEmpty() || password.isEmpty() || name.isEmpty() || contact.isEmpty() || address.isEmpty() || role.isEmpty())
{
JOptionPane.showMessageDialog(null, "Please Fill In Everything!", "Error", JOptionPane.ERROR_MESSAGE);
}
else
{
ClassUser u = new ClassUser (id, password, name, address, contact, role);
File f = new File("ManagerDetails.txt");
try(PrintWriter pw = new PrintWriter(new FileWriter(f, true))){
pw.println(u.toString()); //print into txtfile
JOptionPane.showMessageDialog(this, "Added Successfully!");
} catch(Exception e){
JOptionPane.showMessageDialog(null, "Invalid Input!", "Error", JOptionPane.ERROR_MESSAGE);
}
Я попытался добавить «if-else», но не знал, что использовать в качестве утверждения.




В вашем коде вы говорите, что если идентификатор уже существует, покажите сообщение «Идентификатор уже существует!» а затем вы все равно продолжаете добавлять информацию о пользователях. В вашем операторе if id уже существует установите для логической переменной нашел значение true, а затем сделайте еще один оператор if и проверьте, является ли найденный истинным или ложным.
boolean found = false;
// ...
if (id.equals(split[0]))
{
JOptionPane.showMessageDialog(null, "ID already exists!", "Warning",
JOptionPane.WARNING_MESSAGE);
found = true;
//stop the while
break;
}
// ...
//check if id already exists or not. if not then add users info
if (!found){
//put your adding users info code here
}
большое спасибо зак! я смотрел свой код в течение последнего часа хахаха
Я пробовал это, но он просто добавляет пользователя бесконечно.