sinat_28203663
sinat_28203663
采纳率100%
2015-05-14 14:28 阅读 1.7k
已采纳

随机数入两个数求期中素数和 求大神帮看看代码哪里错了

package exe;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Prime extends Applet implements ActionListener
{
Label l1,l2;
TextField t1,t2;
TextArea T1;
Button b1;
public void init()
{
l1 = new Label("输入第一个数:");
l2 = new Label("输入第二个数:");
t1 = new TextField(20);
t2 = new TextField(20);
T1 = new TextArea(5,30);
b1 = new Button("输出之间素数");
add(l1);
add(t1);
add(l2);
add(t2);
add(b1);
add(T1);
b1.addActionListener(this);
}

public void actionPerformed(ActionEvent e) 
{
     String str1 = t1.getText();
     String str2 = t2.getText();
     int a = Integer.parseInt(str1);
     int b = Integer.parseInt(str2);
     boolean prime = true;
     for(int j = a ; j <= b ; j++)
     {
         for(int i = 0 ; i < j ; i++)
         {
             if( j % i == 0)
             {
                 prime = false;

             }

         }
         if(prime == true)
         {
            String str3 = String.valueOf(j);
            T1.append(str3);
         }

     }

}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    danielinbiti danielinbiti 2015-05-14 14:33
     for(int j = a ; j <= b ; j++)
         {
             for(int i = 2 ; i < j ; i++)//这里从2开始,0,1都要排除在外
             {
                 if( j % i == 0)
                 {
                     prime = false;
                                     break;//整除了不是素数,可以跳出循环了,虽然没写没错,不过多计算了。
    
                 }
    
             }
             if(prime == true)
             {
                String str3 = String.valueOf(j);
                T1.append(str3);
             }
    
         }
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-05-14 14:33

    boolean prime = true;
    要写在第一个for循环里面。否则后面的判断就有问题了。

    点赞 评论 复制链接分享
  • guanjun_12 guanjun_12 2017-12-10 03:35

    素数的定义是不含有2,3,5等质因子啊

    点赞 评论 复制链接分享

相关推荐