这是一个检验上下限之间的素数并输出的applet小程序。本来想要把结果一个个输出的,可是总输出最后的结果,没有中间的值。
请教一下各位大虾!
import java.applet.*;
import java.awt.*;
import java.awt.event.*;public class A extends Applet implements ActionListener
{
Label prompt;
TextField in1,in2;
TextArea output;
Button btn;
int max=0,min=0,i=0,j=0;
public void init()
{
prompt=new Label("请输入上下限");
in1=new TextField(5);
in2=new TextField(5);
output=new TextArea(100,45);
btn=new Button("取素数");
add(in1);
add(in2);
add(btn);
add(prompt);
add(output);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
max=Integer.parseInt(in1.getText());
min=Integer.parseInt(in2.getText());
First:
for(int i=min;i<max;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
continue First;
}
output.setText("结果是:"+i);
}
}
}
请教一下各位大虾!
import java.applet.*;
import java.awt.*;
import java.awt.event.*;public class A extends Applet implements ActionListener
{
Label prompt;
TextField in1,in2;
TextArea output;
Button btn;
int max=0,min=0,i=0,j=0;
public void init()
{
prompt=new Label("请输入上下限");
in1=new TextField(5);
in2=new TextField(5);
output=new TextArea(100,45);
btn=new Button("取素数");
add(in1);
add(in2);
add(btn);
add(prompt);
add(output);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
max=Integer.parseInt(in1.getText());
min=Integer.parseInt(in2.getText());
First:
for(int i=min;i<max;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
continue First;
}
output.setText("结果是:"+i);
}
}
}
解决方案 »
- 请教true的问题
- 在线等答:“ 从JAVA到J2EE要怎么学?具体有那些内容?在学的过程中那些可以忽略 那些是重点?”
- 二个日期相隔天数的问题,错在哪里?
- 连接SQL SERVER数据库的问题!!
- 郁闷!我的浏览器不能浏览 Applet ,是什么原因?
- 为什么我直用JDBC连sql server2000 取数据时要用选后顺序呢?怎么解决呢?
- ArrayList,Hashtable有多大容量,怎样才不会out of memory?
- 我是一个初学者,哪里有《21天学通JAVA》
- applet安全认证的问题
- 我想访问局域网中服务器中的一个文件,但告诉我连接被拒绝!
- 奇怪的构造函数的问题
- lucene+heritrix day3(1)
因为这句代码只是重置文本框的文本,而文本框一次性也只显示一种结果max=Integer.parseInt(in1.getText());
min=Integer.parseInt(in2.getText());
而上面这两句代码楼主也不用写的这么麻烦,因为在包Event中本身已经给我们提供了获取文本框中内容或命令的方法
但是具体方法的名字我忘记了
楼主可以看一下API
import java.awt.*;
import java.awt.event.*;
public class A extends Applet implements ActionListener
{
Label prompt;
TextField in1,in2;
TextArea output;
Button btn;
int max=0,min=0,i=0,j=0;
public void init()
{
prompt=new Label("请输入上下限");
in1=new TextField(5);
in2=new TextField(5);
output=new TextArea(100,45);
btn=new Button("取素数");
add(in1);
add(in2);
add(btn);
add(prompt);
add(output);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String outStr = "结果是:";//用于保存结果
max=Integer.parseInt(in1.getText());
min=Integer.parseInt(in2.getText());
First:
for(int i=min;i <max;i++)
{
for(int j=2;j <i;j++)
{
if(i%j==0)
continue First;
}
outStr += ""+ i +" "; //每次在outStr尾部追加
}
output.setText(outStr); //最后才整个输出
}
}友情提示:你的素数方法有问题,不信你在上限输入一个素数看看。
import java.awt.*;
import java.awt.event.*;
public class A extends Applet implements ActionListener
{
Label prompt;
TextField in1,in2;
TextArea output;
Button btn;
int max=0,min=0,i=0,j=0;
public void init()
{
prompt=new Label("请输入上下限");
in1=new TextField(5);
in2=new TextField(5);
output=new TextArea(100,45);
btn=new Button("取素数");
add(in1);
add(in2);
add(btn);
add(prompt);
add(output);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
max=Integer.parseInt(in1.getText());
min=Integer.parseInt(in2.getText());
output.append("从"+min+"到"+max+"的素数有: "); //提示
First:
for(int i=min;i <max;i++)
{
for(int j=2;j <i;j++)
{
if(i%j==0)
continue First;
} output.append(""+i+" "); //每次追加符合的数
}
output.append("\n"); //换行
}
}
for(int i=min;i <max;i++)
{
for(int j=2;j <i;j++)
{
if(i%j==0)
continue First;
}
outStr += ""+ i +" "; //每次在outStr尾部追加
三楼回答得好呀