Fork me on Gitee

Java Applet 素数小程序

en...

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

2.就是实现这破玩意

 

 

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>
posted @ 2018-12-01 22:46  ---dgw博客  阅读(445)  评论(0编辑  收藏  举报