当前位置:文档之家› JAVA程序设计习题集

JAVA程序设计习题集

JA V A程序设计习题集第一章1、动手完成Java 开发包的安装,并设置环境变量Path ,熟悉开发工具。

2、编写一个程序,要求程序运行后在屏幕上输出:***************************This is my first java program!***************************3、编写一个程序,该程序从命令行接收4 个参数,并将接收的4 个参数打印输出到屏幕。

第二章1、指出下列哪些变量名称是不合法的?tomSalary,float,1people,people1,price_per_m,price-per_m,$root,@test2、编写一个程序,求解一元二次方程:ax2+bx+c=0. 参数a,b 及c 从命令行输入。

提示:需要用到ng.Math 类,Math 类中提供了多种用于科学计算的方法,例如开发sqrt, 求幂pow 等等。

3、写出int min=x>y?y:x 的等价if 语句。

4、利用java API 帮助文档,找到一个可以将给定的字符串转化为小写的方法。

5、打印出成绩等级,如果成绩大于等于90 分,输出“优秀”,如果成绩大于等于80 分,输出“良好”,如果大于等于70 分,输出“中等”,如果大于等于60 分,输出“及格”,其它输出“不及格”。

第三章1、选择题(1)程序TestSketch.java 代码如下,4 个选项中正确的描述是()Class A{}Class B extends A{}Public class TestSketch{Public static void mian(String[] args){A a=new A();B b=(B)a;}}通过编译并正常运行A.编译时出现异常B.编译通过,运行时出现异常C.编译器报告找不到TestSketch.java(2)下面有关类Demo 的描述正确的有()Public class Demo extends Base{Private int count;Public Demo(){System.out.println(“A Demo object has been created”);}Protected void assone(){Count++;}}A.当创建一个Demo 类的实例对象时,count 的值为0B.当创建一个Demo 类的实例对象时,count 的值是不确定的C.Base 类型的对象中可以包含改变count 值的方法D. Demo 的子类对象可以访问count3) 阅读下面的程序,正确的选项为()Class person{String name;String nickname;Public person(String s,String t){name = s;nickName=t;}Public String toString(){return name + “ nickname = “+nickName;}}public class Teacher extends Person {String rank;Public Teacher(String s,String t,String r){super (s,t);rank=r;}public String toString(){return name+”nickname=”+nickName+” rank=”+rank; }public static void main(String args[]){person a= new Person(“Tom”,”Tiger”);person b=new Teacher(“Jack”,”Horse”,”Professor”); Teacher c= new Teacher(“Bobby”,”Elephant”,”Lecture”); System.out.println(“a is “+a.toS tring());System.out.println(“b is”+b.toString());System.out.println(“c is”+c.toString());}}•编译时会出现错误•运行时会出现错误•运行结果为:a is Tom nickname=Tigerb is Jack nickname=Horse rank=Professorc is Bobby nickname=Elephant rank=LectureD. 运行结果为:a is Tome nickname=Tigerb is Jack nickname=Horsec is Bobby nickname=Elephant rank = Lecturer(4).在使用interface 声明一个接口时,可以使用()修饰符修饰该接口。

A. privateB. protectedC.private or protectedD.public(5)虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。

这种说法()A.正确B.不正确C.不能确定D.接口和抽象类不能说明其对象引用(6).接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法?答案是()A.可以B.不可以C.不能肯定D. 因静态方法不能被改写,故不能出现在接口中(7)当我们说明一个类 C 实现一个接口I ,下面说法()不正确A.接口I 是类C 一个超类型B.类C 也实现了接口I 的超接口C.类C 的子类也实现接口ID.接口I 类型的对象引用所制定的对象一定是类C 或其子类的一个对象。

2、填空题(1) 我们可以通过____________ ,使得处于不同层次,甚至互不相关的类具有相同的行为,然后由每个类分别去实现这些行为。

(2) 接口声明的关键字是______________ 。

(3) 在声明类的同时,我们可通过关键字__________________ 实现接口。

(4) 使用类实现接口时,必须__________ 该接口的所有方法。

(5)Java 中,我们可通过________ 来管理类名空间。

(6) 创建包的关键字是:____________ 。

(7) 引入包grade 的best 类,可使用语句:____________________________ 。

3、假如我们在开发一个系统时需要对员工进行建模,员工包含3 个属性:姓名、工号以及工资。

经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。

请使用继承的思想设计出员工类和经理类。

要求类中提供必要的方法进行属性访问。

4、定义一个自己的数学类MyMath. 类中提供静态方法max, 该方法接受3 个同类型的参数(例如整型),返回其中的最大值5、接口和抽象类的区别6、通过设计一接口,定义有关算术的属性。

并创建四个应用该接口的类,分别进行加减乘除的运算。

7、设计一个包,并在其中创建两个类,一个类将小写字母变为大写字母,另一个类将大写字母变为小写字母。

然后创建一个类,实现将“b” 变为“B” 和将“E” 变为“e” 。

第四章1、下面这种捕获异常的方式适当么?说明理由Try{…}catch(Exception e){..}catch(FileNotFoundException a){…}2、简述异常抛出策略经验3、简述异常捕获策略4、简述不要捕获以及声明抛出“超级异常” ( 如:Exception ,Throwable) 的理由。

5、编写程序,越界访问数组元素的下标,捕获并打印异常信息。

6、创建自己的异常类,并在另一个类中调用它,打印出异常信息。

第五章1、创建一个简单的GUI 程序,在窗口上用一个标签显示“你好,这是我的第一个GUI 程序“2、运用所说的JUI 知识及事件处理知识创建一个用户输入界面;3、综合使用网格布局和边框布局编写一个简易的计算器,要求具备加法、减法、乘法以及除法功能。

第六章1、写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文件中。

用户输入”quit” 表示输入完毕,程序退出。

2、使用GB2312 字符集保存“你好,世界!”到文件中,并读取显示出来。

3、File 类型的对象既可以表示文件,也可以表示目录。

编写一个程序,当用户输入一个文件或是目录信息后,该程序能够完成如下工作:(1). 判断该文件或目录是否存在(2).如果不存在则给出出错信息(3).如果存在,则给出其相对路径、绝对路径、文件长度(4).如果存在并且是文件,则显示文件内容(5).如果存在并且是目录,则显示目录内的所有文件名第七章1、编写一个线程使得4 个线程同时运行2、请用线程的有关知识, 编写一个不同时区的时种程序3、.实现生产者/ 消费者问题第八章1、填空题(1) 我们使用 包中有两个类___________ 和________________ ,分别用于在客户机和服务器上创建Socket 通信。

(2) 我们可分别使用Socket 的方法______________ 和_________________ 来创建输入/ 输出流。

(3) 在服务器端程序中,可使用ServerSocket 对象的__________ 方法,接收来自客户机程序的连接请求,待通信任务完毕后,用Socket 对象的____________ 方法来关闭通信Socket 。

(4) 我们可以通过_____________________ 类来建立数据报通信的Socket ;用______________________ 类来创建数据报文包。

(5) 我们可通过DatagramPacket 类的方法____________ 从实例中取得报文的Byte数组编码;而通过_____________ 来返回一个发送或接收此数据报包文的机器的IP 地址。

(6) 我们可通过调用DatagramSocket 对象的____________ 方法来完成接收数据报的工作,通过调用DatagramSocket 对象的____________ 方法实现发送数据报。

(7) 待通信任务完毕后,用DatagramSocket 对象的____________ 方法来关闭数据报通信Socket 。

(8) 创建URL 对象有种方法。

(9)new URL(URL,String) 格式中,String 参数表示。

(10)String URL.getHost( ) 表示获得。

(11)String URL.getFile( ) 表示获得。

2、利用Socket 套接字进行面向连接通信的编程。

客户端发送文件;服务器端接收并显示客户机地址,然后返回信息“ 文件已收到” 给客户端。

3 、无连接通信的编程,客户端输入并发送用户名;服务器端接收并显示其用户名,并检验它们的正确性,错则返回“ 对不起, 你不是我们的用户。

相关主题