import java.awt.*;
import java.awt.event.*;
public class TestAction
{
public static void main(String args[])
{
Frame f = new Frame("HELLO");
Button b = new Button("ok");
Monitor m = new Monitor();
b.addActionListener(m);
f.add(b, BorderLayout.CENTER);
f.pack();
f.setVisible(true); }
}class Monitor implements ActionListener
{ public static int sum = 0;
public  void actionPerformed(ActionEvent e)
{
//int sum = 0;

//int i = 0;
sum = sum ++;
System.out.println(sum);
}}

解决方案 »

  1.   

    声明为静态是没有问题的,只是在actionPerformed方法中应该写成sum = ++sum;
      

  2.   

    sum = ++sum ;
    或者干脆:sum++
    都可以
      

  3.   

    为什么SUM = SUM++;不可以呢?
      

  4.   

    SUM = SUM++;
    这样的话,先把sum赋值给sum,然后sum自增
      

  5.   

    直接 写 sum++ 就可以了 ,,,,楼主 你犯了一个很 郁闷的错误啊 哈哈
      

  6.   

    SUM = SUM++; 改成SUM++;
    SUM = SUM++; //首先计算表达式的值,SUM++表达式的值为0;然后SUM自加,SUM值为1;最后执行赋值,将表达式的值(0)赋给SUM,所以最后SUM是0