【发布时间】:2013-12-04 18:54:21
【问题描述】:
用户输入一个 ID,如果它存在,它应该显示它已经存在并再次循环回到 inout 部分。但由于某种原因,它没有这样做。在它的最后,我有代码写入一个执行的文件,即使我有一个条件让它不执行。我已经尝试了几件事,但不知道为什么它不起作用。
JTextField aaField = new JTextField(5);
JTextField bbField = new JTextField(10);
JTextField ccField = new JTextField(10);
JTextField ddField = new JTextField(10);
JTextField eeField = new JTextField(5);
JTextField ffField = new JTextField(5);
boolean done = false;
while(done == false) {
JPanel myPanel1 = new JPanel();
myPanel1.add(new JLabel("ID:"));
myPanel1.add(aaField);
myPanel1.add(Box.createVerticalStrut(5));
myPanel1.add(new JLabel("Name:"));
myPanel1.add(bbField);
myPanel1.add(Box.createHorizontalStrut(5));
myPanel1.add(new JLabel("Address:"));
myPanel1.add(ccField); // a spacer
myPanel1.add(Box.createHorizontalStrut(10));
myPanel1.add(new JLabel("Email:"));
myPanel1.add(ddField);
myPanel1.add(Box.createVerticalStrut(10));
myPanel1.add(new JLabel("Password:"));
myPanel1.add(eeField); // a spacer
myPanel1.add(Box.createVerticalStrut(10));
myPanel1.add(new JLabel("dob:"));
myPanel1.add(ffField); // a spacer
result1 = JOptionPane.showConfirmDialog(null, myPanel1,
"Please Enter Values", JOptionPane.OK_CANCEL_OPTION);
for(int xx = 0; xx< course.size();xx++) {
ch = course.get(xx).getId();
if(aaField.getText().matches(ch)) {
JOptionPane.showMessageDialog(null,"Please enter an ID that doesnt already exist.");
}
if(!(aaField.getText().matches(ch))) {
done = true;
}
}
}
if(done == true && !(aaField.getText().matches(ch))&& result1 ==JOptionPane.OK_OPTION) {
Mate a = new Mate();
a.addMate(aaField.getText(),bbField.getText(),ccField.getText(),ddField.getText(),eeField.getText(),ffField.getText());
}
【问题讨论】:
-
请格式化您的代码。
-
哇,这是一大块格式错误的代码。我注意到最后你有 if(done = true &&... 这是分配,你可能想要比较 if(done == true && ...
-
请格式化您的代码...
-
即使我改变它也不起作用
-
刚刚改好了
标签: java loops while-loop conditional-statements