运维开发网

Java Applet查找素数小程序代码实例

运维开发网 https://www.qedev.com 2020-08-14 17:18 出处:网络 作者: yaominghui
1. Applet 这个远古的东西,今天我同学让我帮他看看代码,说applet运行出错。额,反正闲着也是闲着,看看呗 ,结果看到代码。。。

1. Applet 这个远古的东西,今天我同学让我帮他看看代码,说applet运行出错。额,反正闲着也是闲着,看看呗 ,结果看到代码。。。

2.就是实现这破玩意

Java Applet查找素数小程序代码实例

package calculate;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public abstract class primeNumBetween extends Applet implements ActionListener
{
    int c=0,d=0;
    int[] res;
    int length;
    Label prompt1 =new Label("上限");
    Label prompt2 =new Label("下限");
    TextField input1 =new TextField(10);
    TextField input2 =new TextField(10);
    TextField output =new TextField(10);

    public void init()
    {
      add(prompt1);
      add(input1);
      add(prompt2);
      add(input2);
      add(new Label("素数有:"));
      add(output);
      input1.addActionListener(this);
      input2.addActionListener(this);
      output.addActionListener(this);
    }
    
    public void paint(Graphics g)
    {
      int i;
      for(i=0;i<length;i++)
      g.drawString(Integer.toString(res[i]), 50, 50);
    }

    public void actionPerformed(ActionEvent e) 
    {
      int i = c,j=0,k=0;
      if(e.getSource()==input2)
      {
      c=Integer.parseInt(input1.getText());
      d=Integer.parseInt(input2.getText());
        for(;i<=d;i++)
          {
          for(j=2;j<d;j++)
            {
              if(j%i==0) break;    
            }
          if(j==d) 
            {res[k]=i;
              k++;
          
            }          
          }
        length=k;
      }
    }
}

修改后的代码

package chapter.array;

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.SwingUtilities;

public class ClasA extends Applet implements ActionListener {

  static int[] res = new int[1000000];
  Label prompt1 = new Label("下限");
  Label prompt2 = new Label("上限");
  TextField input1 = new TextField(10);
  TextField input2 = new TextField(10);
  TextField output = new TextField(100);
  int c, d, k = 0;

  @Override
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == input2) {
      c = Integer.parseInt(input1.getText());
      d = Integer.parseInt(input2.getText());
      output.setText("");
      if (c < 2)
        return;
    }
    repaint();
    f(this.getGraphics());
  }

  @Override
  public void init() {
    this.setSize(800, 600);
    add(prompt1);
    add(input1);
    add(prompt2);
    add(input2);
    add(new Label("素数有:"));
    add(output);
    input2.addActionListener(this);

    for (int i = 2; i <= 100000; i++) {
      if (isPrime(i)) {
        res[++k] = i;
      }
    }
  }

  private boolean isPrime(int r) {
    for (int i = 2; i < r; i++) {
      if (r % i == 0) {
        return false;
      }
    }
    return true;
  }

  void f(Graphics g) {
    for (int i = 1; i < d; i++) {
      if(res[i]>d) {
        continue;
      }
      output.setText(output.getText()+" "+Integer.toString(res[i]));
    }
    // g.drawString(Integer.toString(res[i]), 50, 50);
    // 
    repaint();
  }

  @Override
  public void paint(Graphics g) {
  }
}

创建HTML文件

值得注意的是到目前为止你已经确切的遵循相同的步骤,如果你在创建一个Java应用程序。Applet被 创建并保存在一个文本文件中,通过javac compiler已经进行编译。

Java Applets不同于Java 应用程序,当它们运行的时候。现在需要的是涉及FirstApplet.class文件 的网页。记住,类文件是你的applet已编译的版本;这是你的电脑可以知道并执行的文件。

创建html文件“First-App.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My First Java Applet</title>
</head>
<body>
>Here's my first Java Applet:
<applet code="FirstApplet.class" width="300" height ="300"></applet>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号