我得到一个大括号错误,但我不明白为什么

时间:2012-02-07 01:24:45

标签: java

我收到错误java:35:错误:非法字符:\ 29,所有这一切应该是当用户点击标签时,它从“H”变为“T”

我也得到错误:';'预期         }

和错误:解析时到达文件末尾         }

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


class Lab3Label extends JLabel{

    Lab3Label () {
        this.addActionListener(new FlipTheCoinListener());
    }



    public void FlipTheCoin(){
        int count = 0;
        if(count % 1 == 0 ){
            this.setText("H");
            count += 2;
        }
        else{
            this.setText("T");
            count -= 2;
        }
    }


}

        class FlipTheCoinListener implements ActionListener{


            public void actionPerformed(ActionEvent e){
             this.FlipTheCoin();
            }
    }

^是有问题的行

3 个答案:

答案 0 :(得分:5)

你在这一行上有一个有趣的角色,正如你得到的实际错误所证明的那样,抱怨\29。这可能是因为您从具有无关角色的某个地方剪切并粘贴了代码。

如果您确实想要正确调查,可以检查文件的十六进制内容,例如(UNIXy系统):

od -xcb sourcefile.java

但是完全删除该行并重新键入它可能更容易。

答案 1 :(得分:1)

根据您提供的代码,它看起来不像是“花括号错误”。

您需要在代码中修复三件主要事项:

  1. FlipTheCoinListener定义为Lab3Label内的inner class
  2. 方法FlipTheCoin是外部类Lab3Label的一部分,研究如何从内部类调用外部类的方法。
  3. JLabel不存在addActionListener方法,找到您应该使用的合适的侦听器方法。

答案 2 :(得分:1)

这可能是您对帖子进行格式化时出错,但在导入语句之前有一个}。