Вложено, если выписки терпят неудачу - PullRequest
0 голосов
/ 16 октября 2011

Я пришел из фона C, поэтому я предполагаю, что у меня неправильный синтаксис.

В следующем коде;

    public class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {

        String jcbValue = (String) jcbIDF.getSelectedItem();
        if (jcbValue.equals("Insert")) {

            String Id = jtfId.getText();
            ArrayList<String> ValueList = new ArrayList<String>();
            String Name = jtfName.getText();
            String GPA = jtfGPA.getText();
            ValueList.add(Name);
            ValueList.add(GPA);
            if (map.containsKey(Id)){
                JOptionPane.showMessageDialog(null, "Key exists!",
                        "Result", JOptionPane.INFORMATION_MESSAGE);
            }   
            else if (!map.containsKey(Id)){

                map.put(Id, ValueList);
                System.out.println(map);

                JOptionPane.showMessageDialog(null, "Record inserted",
                        "Result", JOptionPane.INFORMATION_MESSAGE);
                jtfId.setText("");
                jtfName.setText("");
                jtfGPA.setText("");
            }

        } //terminates insert
        else if (jcbValue.equals("Delete")) {
            String Id = jtfId.getText();
            ArrayList<String> ValueList = new ArrayList<String>();
            String Name = jtfName.getText();
            String GPA = jtfGPA.getText();

            if (map.containsKey(Id)){
            JOptionPane.showMessageDialog(null, "Key exists, deleted!",
                        "Result", JOptionPane.INFORMATION_MESSAGE);
            } else if (!map.contasKey(Id)){      
            System.out.println(map);
            JOptionPane.showMessageDialog(null, "Key Does not exist!",
            }                                                       


        } //terminates delete
        else if (jcbValue.equals("Find")) {
            System.out.println(map);
            JOptionPane.showMessageDialog(null,
                    "Find Selected; But not Implemented", "Result",
                    JOptionPane.INFORMATION_MESSAGE);
        } //terminates find

    }// Terminates actionPerformed Class
}// Terminates ButtonListenerClass

Я получаю ошибки компиляции, говоря "} Неожиданнов строке X и преждевременном EOF. Если я удалил вложенные IF, которые оценивают map.containsKey (Id), он компилируется и работает нормально. Все, что я читаю в Интернете, говорит, что Java способна вкладывать операторы IF, так что именно я делаю неправильно?

Спасибо за помощь!

CJ

Ответы [ 2 ]

6 голосов
/ 16 октября 2011

Эта строка?

        JOptionPane.showMessageDialog(null, "Key Does not exist!",
        }

Ваш вызов метода не закрыт. Я думаю, что вы хотели сделать это:

        JOptionPane.showMessageDialog(null, "Key Does not exist!",
                                      "Result", JOptionPane.INFORMATION_MESSAGE);
        }
1 голос
/ 16 октября 2011

Ваша проблема в последнем else if утверждении:

JOptionPane.showMessageDialog(null, "Key Does not exist!",

Эта строка не закрыта.Как сказал предыдущий автор, вы должны сделать что-то вроде

JOptionPane.showMessageDialog(null, "Key Does not exist!", "Result", JOptionPane.INFORMATION_MESSAGE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...