PAGE
PAGE 1
[模拟] 计算机二级(java)机试75
一、基本操作题
第1题:
下面的程序是求9999以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如28=1+2+4+7+14就是一个完全数。请在程序的每条横线处填写一个语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
源程序文件代码清单如下:
public class QuanShu
{
public static void main(String args[])
{
for (int n=1;n<9999; n++)
if(______)
System.out.println (n);
}
public static int divsum(int n)
{//该方法功能是求一个数的所有约数
int s=0;
for (int i=1; i<n; i++)
if(______)
______
return s;
}
}
参考答案:
n==divsum(n) n%i==0 s+=i;
详细解答:
本题考查for循环语句、求余运算符(%)和Java语言方法的使用。解答本题的关键是熟练使用for循环语句。在本题中, if(n==divsum(n))语句是用来调用divsum(n)方法(其中n为方法的实际参数)和判断某个自然数是否为完全数。n%i==0是用来判断数n是否能被数i整除,s+=i是用来累加某个自然数的所有约数。
二、简单应用题
第2题:
请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在一个文本区域内。
注童;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件代码清单如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import .*;
import java.io.*;
public class ex15_2
{
public static void main(String args[])
{
UrlFrame page = new UrlFrame("");
page.show();
}
}
class UrlFrame extends JFrame
{
JTextArea jta = new JTextArea("正在读取文件...");
URL url;
public UrlFrame(String strAddr)
{
super (strAddr);//使用父类的构造方法。
setSize(450, 300);
JScrollPane jsp = new JScrollPane(jta);
getContentPane().add(jsp);
WindowListener wl = new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
};
addWindowListener(wl);
try {
url = new URL(strAddr);
______;
} catch (MalformedURLException murle) {
System.out.println("不合适的URL:"+ strAddr);
}
}
void getData(URL url)
{
URLConnection con = null;
InputStreamReader isr;
BufferedReader readBuf;
String strLine;
StringBuffer strBuf = new StringBuffer();