2017年计算机二级Java题库三
-
请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。
[题目要求]
打开一个文本文件test.txt,统计该文件中包含的数字的个数与英文字母的个数(忽略大小写)。例如test.txt文本文件中包含的内容为“123abeDEF99G”,则程序的输出结果如下:
数字数是5,字母数是7
源程序:
import java.io.*:
public class Java_2 {
public static void main(String[] args) {
byte buf[]=new byte[5];
int len=0,c1=0,c2=0;
(1) {
FileInputStream in= (2) ("test.txt");
while((len=in.read(bur,0.5))>0) {
for(int i=0;i<len;i++)
if(buf[i]>='0'&& buf[i]<='9')cl++;
else if((bur[i]>='a'&& buf[i]<='z')||buf[i]>='A'&& buf[i]<='z')c2++;
if(len<5)break;
}
in.close();
} catch(Exception e) {}
System.out.println("数字数是"+c1+",字母数是"+c2);
}
{
-
下面程序段是从对象流中读取对象,请将程序补充完整。
import java.util.*;
import java.io.*;
public class UnSerializaDate {
Date d=null;
UnSerializaDate() {
try{
FileInputStream f=new FileInputStream("date.ser");
ObjectInputStream s=new ObjectInputStream(f);
【 】
f.close();
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
UnSerializaDate a=new UnSerializaDate();
System.out.println("The date read is:" +a.d.toString());
}
}
-
下列操作中,不属于Applet安全限制的是
- A.加载本地库
- B.读写本地文件系统
- C.运行本地可执行程序
- D.与同一个页面中的Applet通信
-
结构化程序设计的基本原则不包括
- A.多态性
- B.自顶向下
- C.模块化
- D.逐步求精
-
下列关于线程调度的叙述中,错误的是( )。
- A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
- B.调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
- C.当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
- D.具有相同优先级的多个线程的调度一定是分时的
-
下列不属于Swing构件的是
- A.JMenu
- B.JApplet
- C.JOptionPane
- D.Panel
-
关于Applet,下面选项中错误的是( )。
- A.Applet就是一个Application
- B.Applet可以在浏览器中执行
- C.Application可以直接用Java解释器执行
- D.Applet也可以是一个Application
-
下面的( )关键字通常用来对对象加锁,从而使得对对象的访问是排他的。
- A.serialize
- B.transient
- C.synchronized
- D.static
-
现有两个类A,B,以下描述中表示B继承自A的是 ( )
- A.class A extends B
- B.class B implements A
- C.class A implements B
- D.class B extends A
-
自定义的异常类可从( )类继承。
- A.Error
- B.AWTError
- C.VirtualMachineError
- D.Exception及其子集
-
下列方法中能产生确认对话框ConfirmDialog的是( )。
- A.showInputDialog()
- B.InputDialog()
- C.showMessageDialog()
- D.showOptionDialog()
-
开发大型软件时,产生困难的根本原因是
- A.大系统的复杂性
- B.人员知识不足
- C.客观世界千变万化
- D.时间紧、任务重
-
下列关于Java语言中线程的叙述中,正确的是
- A.线程是由代码、数据、内核状态和一组寄存器组成
- B.线程间的数据是不共享的
- C.用户只能通过创建Thread类的实例或定义、创建Thread子类的实例建立和控制自己的线程
- D.因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定
-
下列工具中属于需求分析常用工具的是______。
- A.PAD
- B.PFD
- C.N-S图
- D.DFD
-
UDP允许传输的数据包最大为( )。
- A.8KB
- B.16KB
- C.32KB
- D.64KB
-
下列循环执行的次数为( )。 int y=2,x=4; while(--x!=x/y){}
- A.1
- B.2
- C.3
- D.0
-
下面属于applet的安全限制的项有()。①applet不能运行任何本地可运行程序②禁止加载本地库或方法③禁止读、写本地计算机的文件系统④禁止向提供applet之外的任何主机建立网络连接⑤不能读取所有系统信息
- A.①②③⑤
- B.①②④⑤
- C.①②③④
- D.②③④⑤
-
设A为已定义的类名,下列是声明A类的对象a的语句中正确的是
- A.public A a=new A( );
- B.public A a=A();
- C.A a=new class();
- D.a A;
-
下列关于自动类型转换的说法中,正确的是( )。
- A.操作数1是byte类型,操作数2是long类型,结果为byte类型
- B.操作数1是byte类型,操作数2是long类型,结果为long类型
- C.操作数1是long类型,操作数2是byte类型,结果是byte类型
- D.操作数1是long类型,操作数2是byte类型,结果是long类型
-
用于在子类中调用被重写父类方法的关键字是( )。
- A.this
- B.super
- C.This
- D.Super
-
下列叙述中正确的是
- A.软件交付使用后还需要进行维护
- B.软件一旦交付使用就不需要再进行维护
- C.软件交付使用后其生命周期就结束
- D.软件维护是指修复程序中被破坏的指令
-
下列说法中,错误的是( )。
- A.线程就是程序
- B.线程是一个程序的单个执行流
- C.多线程是指一个程序的多个执行流
- D.多线程用于实现开发
-
若对n个元素进行直接插入排序,则进行第i趟排序过程前,有序表中的元素个数为 ______。
- A.1
- B.i-1
- C.i
- D.i+1
-
下面描述中,符合结构化程序设计风格的是
- A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
- B.模块只有一个入口,可以有多个出口
- C.注重提高程序的执行效率
- D.不使用GOTO语句
-
阅读下列代码段
abstract class Person{
public Person(String n){
name=n;
}
public______String getDescription();
public String getName(){ }
private String name;
}
在下画线处应填入的修饰符是
- A.static
- B.abstract
- C.protected
- D.final
-
下列各选项中不属于Java保留字的是( )。
- A.if
- B.sizeof
- C.private
- D.null
-
阅读下面程序 class Test implements Runnable { public static void main(String[] args) { Test t=new Test(); t.start(): } public void run() {} } 下列关于上述程序的叙述正确的是
- A.程序不能通过编译,因为start()方法在Test类中没有定义
- B.程序编译通过,但运行时出错,提示start()方法没有定义
- C.程序不能通过编译,因为run()方法没有定义方法体
- D.程序编译通过,且运行正常
-
在数据库系统中,用户所见数据模式为( )。
- A.概念模式
- B.外模式
- C.内模式
- D.物理模式