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>