求教如何在Applet中打印出所有完全数(1000以内)

本人自学java刚十一天, 想将下面这个求1000以内完全数的appplication修改为在Applet中打印出所有完全数(1000以内)
import java.io.*;
public class PerfectNum
{
  public static void main(String args[])
   {
     int count=1;
     for(int i=1; i<1000; i++)
     {
       int y=0;
       for(int j=1; j<i; j++)
        if(i%j==0)
         y+=j;
        if(y==i)
         {
           System.out.print(i +String.valueOf('\t'));
           count++;
           if(count%3==0)
              System.out.println();
          }
       }
    }
}

我修改后的代码如下:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class PerfectNum2 extends Applet implements ActionListener
{
  Button btn=new Button("确定");
  Label out=new Label("求1000之内的完全数!");
public void init()
  {
    setLayout(new FlowLayout());
    add(btn);
    add(out);
    btn.addActionListener(this);
  }
   public void actionPerformed(ActionEvent e)
   {
     int count=1;
     for(int i=1; i<1000; i++)
     {
       int y=0;
       for(int j=1; j<i; j++)
        if(i%j==0)
         y+=j;
        if(y==i)
         {
              out.setText(i +String.valueOf('\t'));
              count++;
              if(count%3==0)
                out.setText("1000之内的完全数:"+count++);
          }
       }
    }
}

结果只能打出496(1000以内一共有三个完全数 6, 28, 496)
若代码改为:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class PerfectNum2 extends Applet implements ActionListener
{
  Button btn=new Button("确定");
  Label out=new Label("求1000之内的完全数!");
public void init()
  {
    setLayout(new FlowLayout());
    add(btn);
    add(out);
    btn.addActionListener(this);
  }
   public void actionPerformed(ActionEvent e)
   {
     int count=1;
     for(int i=1; i<1000; i++)
     {
       int y=0;
       for(int j=1; j<i; j++)
        if(i%j==0)
         y+=j;
        if(y==i)
         {
                out.setText("1000之内的完全数:"+count++);
          }
       }
    }
}
则就只能打出6

本人不知是不是要用TextArea或者其他办法, 还请各位达人告诉我?
谢谢
我也来说两句 查看全部回复

最新回复

  • lwhsy59 (2007-5-06 18:54:41)

    可不可以用paint (Graphics g)方法呢