Java程序问题,在线等,在eclipse下编写,运行后无结果,希望哪位大神帮我解释一下
importjava.awt.*;importjava.applet.*;importjava.awt.event.*;publicclassSushuextendsAp...
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Sushu extends Applet implements ActionListener
{
Label prompt;
int i=1,j=1,m,n;
TextField in1,in2,in3;
Button btn;
public void init()
{
prompt=new Label("请在两个格输入你所给出的上下限。请先输较小的");
in1=new TextField(10);
in2=new TextField(10);
btn=new Button("开始");
add(prompt);
add(in1);
add(in2);
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
i=Integer.parseInt(in1.getText());
j=Integer.parseInt(in2.getText());
repaint();
}
public void paint(Graphics g)
{
Loop:
for(int m=1;m<i;m++)
{
for(int n=j;m<n;n++)
{
if(m%n==0)
continue Loop;
}
g.drawString("素数为"+m, 10, 200);
}
}
} 展开
import java.applet.*;
import java.awt.event.*;
public class Sushu extends Applet implements ActionListener
{
Label prompt;
int i=1,j=1,m,n;
TextField in1,in2,in3;
Button btn;
public void init()
{
prompt=new Label("请在两个格输入你所给出的上下限。请先输较小的");
in1=new TextField(10);
in2=new TextField(10);
btn=new Button("开始");
add(prompt);
add(in1);
add(in2);
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
i=Integer.parseInt(in1.getText());
j=Integer.parseInt(in2.getText());
repaint();
}
public void paint(Graphics g)
{
Loop:
for(int m=1;m<i;m++)
{
for(int n=j;m<n;n++)
{
if(m%n==0)
continue Loop;
}
g.drawString("素数为"+m, 10, 200);
}
}
} 展开
展开全部
你的程序是个死循环。
下面是我改后 的程序:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Sushu extends Applet implements ActionListener
{
Label prompt;
int i=1,j=1,m,n;
TextField in1,in2,in3;
Button btn;
String str = "它们之间的素数有:";
public void init()
{
prompt=new Label("请在两个格输入你所给出的上下限。请先输较小的");
in1=new TextField(10);
in2=new TextField(10);
btn=new Button("开始");
add(prompt);
add(in1);
add(in2);
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
i=Integer.parseInt(in1.getText());
j=Integer.parseInt(in2.getText());
str = "它们之间的素数有:";
for(int m=i;m<=j;m++)// 数的范围在i和j之间
{
if( m == 2 )
{
str += m + " ";//2本来就是素数
continue;
}
for(int n=2;n<m;n++)//判断m是否为一个素数
{
if( n == m-1 )//是素数
str += m + " ";
if(m%n==0)//不是素数
break ;
}
}
repaint();
}
public void paint(Graphics g)
{
super.paint(g);
g.drawString(str,10,80);
}
}
下面是我改后 的程序:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Sushu extends Applet implements ActionListener
{
Label prompt;
int i=1,j=1,m,n;
TextField in1,in2,in3;
Button btn;
String str = "它们之间的素数有:";
public void init()
{
prompt=new Label("请在两个格输入你所给出的上下限。请先输较小的");
in1=new TextField(10);
in2=new TextField(10);
btn=new Button("开始");
add(prompt);
add(in1);
add(in2);
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
i=Integer.parseInt(in1.getText());
j=Integer.parseInt(in2.getText());
str = "它们之间的素数有:";
for(int m=i;m<=j;m++)// 数的范围在i和j之间
{
if( m == 2 )
{
str += m + " ";//2本来就是素数
continue;
}
for(int n=2;n<m;n++)//判断m是否为一个素数
{
if( n == m-1 )//是素数
str += m + " ";
if(m%n==0)//不是素数
break ;
}
}
repaint();
}
public void paint(Graphics g)
{
super.paint(g);
g.drawString(str,10,80);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询