试题与答案

注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_

题型:问答题

题目:

注意:下面出现的“考生文件夹”均为%USER%。

在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:阅读Java_3.java程序,该程序利用BitSet算法,筛选得到1~1023的素数。完成程序并运行所得结果为

给定源程序:

//Java_3.java:用BitSet完成Eratosthenes筛网算法找1~1023的素数。

import Java.awt.*;

import Java awt event.*;

import Java.util.;

import javax.swing.*;

public class Java_3 extends JFrame

public Java_3()

super("BitSets");

final BitSet sieve=new BitSet(1024);

Container c=getContentPane();

final JLabel status=new JLabel();

c.add(status, BorderLayout.SOUTH);

JPanel inputPanel=new JPanel();

inputPanel.add(new JLabel("从1至1023"+"输入值""));

final JTextField input=new JTextField(10);

input.addActionListener(

new ActionListener()

publ ic void actionPerformed(ActionEvent e)

int val=Integer.parseInt(input.getText());

if(Sieve.get(val))

status.setText(val+"是一个素数");

else

status.setText(val+"不是一个素数");

);

inputPanel.add(input);

c.add(inputPanel, BorderLayout NORTH);

JTextArea primes=new JTextArea();

ScrollPane p=new ScrollPane();

//*********Found********

p.add(______);

c.add(p, BorderLayout CENTER);

//从1至1023设置所有位

int size=sieve.size();

for(int i=1; i<size; i++)

sieve.set(i);

//执行Eratosthenes筛网算法

int finalBit=(int)Math.sqrt(sieve size());

for(int i=2; i<finalBit; i++)

if(sieve.get(i))

for(int j=2*i; j<size; j+=i)

sieve.clear(j);

int counter=0;

for(int i=1; i<size; i++)

if(sieve.get(1))

primes.append(String.valueOf(i));

primes.append(++counter%7==0 "\n":"\t");

setSize(300, 250);

show();

public static void main(String args[])

Java 3 app=new Java_3();

//*********Found********

app.______(

new windowAdapter()

public void windowClosing(WindowEvent e)

System.exit(0);

);

 

答案:

参考答案:

第1处:primes第2处:addWindowListener

解析:

Swing组件文本区域添加到窗口,需填入primes;在main()函数里边要注册监听器,需填入addWindowListener。

试题推荐
微信公众账号搜索答案