Jfame制作一个计算(a,b)之间质数的java application

本文介绍了一个使用 Java Swing 构建的简单应用程序,该程序可以计算两个整数之间所有的质数,并允许用户指定每行显示的质数数量。通过用户界面输入参数后,程序会列出所有质数并计算总数。

代码如下:
package SwingTest3;

import java.awt.Button;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import org.omg.CORBA.INTERNAL;

import com.sun.jndi.url.dns.dnsURLContext;

public class SwingTest3 extends JFrame {
static JTextField tf1 = new JTextField();
static JTextField tf2 = new JTextField();
static JTextField tf3 = new JTextField();
static JTextField tf4 = new JTextField();
static JTextArea ta = new JTextArea();
static int num =0 ;
//*滚动条**//
JScrollPane jp = new JScrollPane(ta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
public SwingTest3(){
setLayout(null);
add(jp);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(300,300);
setSize(500, 400);
Button bt1 = new Button(“求a,b之间的质数”);
Button bt2 = new Button(“质数个数”);
bt1.addActionListener(new GetAction());
JLabel l1 =new JLabel(“输入a值:”);
JLabel l2 = new JLabel(“输入b值”);
JLabel l3 = new JLabel(“每行显示的个数”);
tf1.setBounds(new Rectangle(40, 50, 70, 25));
tf2.setBounds(new Rectangle(130, 50, 70, 25));
tf3.setBounds(new Rectangle(220, 50, 70, 25));
ta.setEditable(true);
ta.setText(” “);
ta.setBackground(Color.white);
ta.setBounds(new Rectangle(40,100,400,200));
l1.setBounds(new Rectangle(40, 20, 60, 25));
l2.setBounds(new Rectangle(130, 20, 60, 25));
l3.setBounds(new Rectangle(220, 20, 60, 25));
bt1.setBounds(new Rectangle(340, 20, 120, 25));
bt2.setBounds(new Rectangle(40, 330, 70, 25));
tf4.setBounds(new Rectangle(130, 330, 70, 25));
add(l1);
add(l2);
add(l3);
add(tf1);
add(tf2);
add(tf3);
add(tf4);
add(bt1);
add(bt2);
add(ta);
setVisible(true);
}
public static void main(String []args) {
SwingTest3 sTest3 = new SwingTest3();
}
}

class GetAction implements ActionListener{
public void actionPerformed(ActionEvent e){
String t1 = SwingTest3.tf1.getText();
String t2 = SwingTest3.tf2.getText();
String t3 = SwingTest3.tf3.getText();
int T1 = Integer.parseInt(t1);
int T2 = Integer.parseInt(t2);
int T3= Integer.parseInt(t3);
boolean flag;
int a ,b ,c;
a = T1;
b = T2;
c = T3;
int count =0;
for(int i = a;i<=b;i++){
flag = true;
for(int j = 2 ; j<=i/2 ; j++){
if(i%j == 0) {
flag =false;
break;}
}
if(flag){
String string = String.valueOf(i);
SwingTest3.ta.append(string+” “);
count++;
SwingTest3.num++;
if(count%c == 0)
SwingTest3.ta.append(“\n”);
}
}
String s = String.valueOf(SwingTest3.num);
SwingTest3.tf4.setText(s);
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值