Java 如何修复这些语法错误?

Java 如何修复这些语法错误?,java,syntax-error,Java,Syntax Error,我是一名业余/初学者Java程序员。我写了下面的GUI课程来练习我自学的技能 我有很多语法错误 这是我的班级: package MyGUIStuff; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.Scanner; public class MyFrame { public static void main(String[] a

我是一名业余/初学者Java程序员。我写了下面的GUI课程来练习我自学的技能

我有很多语法错误

这是我的班级:

package MyGUIStuff;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Scanner;

public class MyFrame {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        JLabel lbl = new JLabel ("Register:");
        JTextField jtf = new JTextField (20);
        JPanel pnl = new JPanel();

        JFrame frame = new JFrame ("File Writer");
        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        pnl.add(lbl);
        pnl.add(jtf);

    jtf.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    String str = new String (jtf.getText());

                    File file = new File ("register.txt");
                    if (!file.exists())
                    {
                        file.createNewFile();
                    }
                    FileWriter fw = new FileWriter (file.getAbsoluteFile(), true);
                    BufferedWriter bw = new BufferedWriter(fw);
                    bw.write(str);
                    bw.newLine();
                    bw.close();

                    System.out.println("Done!");

                }catch (IOException e){
                    e.printStackTrace();

                }
        });

        frame.add(pnl);

   }
}

如何修复错误?

修复大量错误的方法是忽略除第一个错误以外的所有错误。修复该错误,重新编译,并修复第一个错误。修复该错误,重新编译,并修复第一个错误。等等

第一个错误 所以我得到的第一个错误是:

MyFrame.java:50: error: illegal start of type
        });
         ^
我看看50号线附近发生了什么。我注意到
actionPerformed
方法缺少右括号。我插入它,使第50行周围的代码如下所示:

                }catch (IOException e){
                    e.printStackTrace();

                }
            }
        });
然后我重新编译并查看错误列表

剩下的唯一错误是 只修复第一个错误然后重新编译的好处之一是,几个错误通常会神奇地消失。通过仅修复第一个错误,我们从6个错误减少到只有1个错误:

MyFrame.java:46: error: variable e is already defined in method actionPerformed(ActionEvent)
                }catch (IOException e){
                                    ^
我环顾四周,看看
e
是在哪里声明的。它在两个地方声明:
actionPerformed
方法的参数和
catch
块中捕获的异常。其中一个需要重命名。我将捕获的异常重命名为
ex

                }catch (IOException ex){
                    ex.printStackTrace();

                }
然后我重新编译并查看错误列表

没有留下错误
现在已经没有编译时错误了。如果这是我的程序,我会确保它正常工作。

什么错误?您需要发布您收到的错误。错误在哪里?错误消息是什么?您不了解他们的哪些方面?请在此处提供发生的错误,这将对您有所帮助亲爱的Chai t.Rex,您的回答非常有帮助!:但是更有用的是你关于纠正错误的提示。我在java中所知道的一切都是自学成才的,我真的不知道如何处理一大堆错误。但是你的提示将对我在Java方面的发展有很大的帮助!谢谢D