《Java语言程序设计(一)》课后习题答案(课程编号04747) 下载本文

内容发布更新时间 : 2024/5/17 16:54:14星期一 下面是文章的全部内容请认真阅读。

第一章 Java语言基础 .................................................................................................................... 5

1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。 ...................................... 5 1.2 说出开发与运行JAVA程序的重要步骤。 ............................................................. 5 1.3 如何区分应用程序和小应用程序? ........................................................................ 5 1.4 说出JAVA源文件的命名规则。 ............................................................................. 5 1.6 JAVA语言使用什么字符集?共有多少个不同的字符? ....................................... 5 1.7 JAVA语言标识符的命名规则是什么? ................................................................... 6 1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的? ............................... 6 1.9 指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。 ....................................................................................................................... 6

第二章 运算和语句 ......................................................................................................................... 7

2.1 Java的字符能参加算术运算吗? ............................................................................. 7 2.2 占字节多的变量能直接赋值给占字节少的变量么? ............................................ 7 2.3 试用Java语言表达式描述以下数学计算式或逻辑条件: ................................... 7 2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。 ..................................................................................................... 7 2.6 若一个数恰好等于它的因子之和,则这个数称为“完全数”。编写程序求1000之内的所有完全数。 ....................................................................................................... 7 2.7 编写输入正实数x,求平方不超过x的最大整数n,并输出。 .......................... 8 2.8 输入正整数n,输出由n行n列星号字符组成的三角形图案。 ....................... 11 2.9 设有整型变量x和y的值分别为5和110。试指出执行了以下循环语句后,变量x和y的值分别多少? ............................................................................................. 12 2.10求小于999的所有水仙花数。 ............................................................................. 12 2.11 编程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡。求鸡翁、鸡母和鸡雏各几何? ............................................................. 13 2.12 编写程序,按下面的公式计算自然对数底e的值:e=1+1/1!+1/2!+1/3!+1/4!+............................................................................................................................................... 13 2.13 编写程序,用如下公式计算圆周率PI的近似值:PI=4-4/3+4/5-4/7+4/9-4/11............................................................................................................................................ 14 2.14 回文整数是指正读法和反读相同的整数,编写一个程序,输入一个整数,判断他是否为回文整数。 ................................................................................................. 15 2.15 草地上有一堆野果,有一只猴子每天吃掉这堆野果的一半又一个,5天后刚好吃完这堆野果,求这堆野果原来共有多少个?猴子每天吃多少个野果? ............. 17

第三章 面向对象编程基础 ........................................................................................................... 19

3.1 什么是面向对象技术?它有什么优点? .............................................................. 19 3.2 面向对象程序设计与面向过程程序设计有什么区别? ...................................... 19 3.3 程序中类和对象有什么区别? .............................................................................. 19 3.4 类变量和实例变量,以及类方法和实例方法的区别。 ...................................... 19 3.5 子类能继承超类的哪些成员变量和方法? .......................................................... 19 3.6 子类在什么情况下能隐藏超类的成员变量和方法? .......................................... 20 3.7 在子类中是否允许有一个方法和超类的方法名字相同,而类型不同? .......... 20 3.12 以下程序有什么错误? ........................................................................................ 20 3.13 声明一个复数类Complex。实现其基本功能。 ................................................ 20 3.14 声明一个有理数类RationalNum。要求提供有理数的四则运算,以分数形式输

1

出有理数和以浮点数形式输出有理数等方法。 ......................................................... 23

第四章 数组和字符串 ................................................................................................................... 28

4.1 举例说明如何声明、创建和初始化数组。 .......................................................... 28 4.2 举例说明如何声明、创建和初始化数组。 .......................................................... 28 4.3 一个数组能够存储不同类型的元素吗? .............................................................. 28 4.4 编写一个Java 程序,形成以下形式的二维数组,并输出。 ............................ 28 4.5 java中的字符数组与字符串有什么区别? ........................................................... 30 4.6 确定一个字符数组长度与确定一个String对象的长度有什么不同? .............. 30 4.7用toUpperCase()和toLowerCase()方法实现大小写转换...................................... 30 4.8编写一个程序通过连接两个字符串得到一个新字符串并输出。 ....................... 31 4.9 声明MyDate类,功能:增加1天,增减1月和增加1年的方法;输出MyDate对象日期的方法;求两个MyDate对象日期差的方法。并提供能用当前日期初始化MyDate类对象的构造方法。 ....................................................................................... 31 4.10 求前n个质数。要求确定m是否是质数,用早先求出的质数对m的整除性来确定。 ............................................................................................................................. 34 4.11 编写实现从两个字符串中找出最长的相同字符列的代码。 ............................ 35 4.12 整理字符串,将字符串的前导空白符和后随空白符删去,并将字符串中非空白字符之间的连接的多个空白符只保留一个,而去掉多余的空白符。 ................. 36 4.13 编写用数组实现大整数的类,提供大整数的加、减、乘等运算。 ................ 36

第五章 图形界面设计 ................................................................................................................... 43

5.1 Swing与AWT有何关系? ..................................................................................... 43 5.2 什么是组件对象?什么是容器?容器与其他类型的组件有何不同? ................ 44 5.3 以下程序中,有多少个组件,哪些既是组件又是容器? .................................. 44 5.4 什么是事件?什么是监听器?如何进行事件注册? .......................................... 44 5.5 如何进行事件处理?如何获取事件源? .............................................................. 44 5.6 编写已个小应用程序,小应用程序窗口有一个按钮,点击这个按钮时,点击按钮的次数会显示在按钮上。 ......................................................................................... 44 5.7 创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字显示在文本框中。 ................................................................................................................. 45 5.8 编写一个有两个文本框的小应用程序,在第一个文本框输入英语单词,在第二个文本框会自动显示汉语解释;在第一个文本框输入汉语单词,在第二个文本框中显示英语解释。设英语单词表只有少许几个。 ......................................................... 47 5.9 一个标签、一个文本框、一个文本区、两个按钮。当在文本区中输入若干数后,点击求和按钮,在文本框显示输入数的和,标签显示“输入数的和”;点击求平均值按钮,在文本框显示输入数的平均值,标签显示“输入数的平均值”。要求文本区设有滚动条。 ..................................................................................................................... 49 5.10 布局设计 ................................................................................................................ 51

第六章 图形界面设计 ................................................................................................................... 54

6.1 设计一个面板,该面板中有四个运动项目选择框和一个文本区。当某个选择项目被选中时,在文本区中显示该选择项目。 ............................................................. 54 6.2 设计一个面板,该面板中有四个运动项目单选框和一个文本框。当某个选择项目被选中时,在文本框中显示该选择项目。 ............................................................. 55 6.3 设计一个面板,该面板中有四个运动项目单选按钮和一个文本框。当某个选择项目被选中时,在文本框中显示该选择项目。 ......................................................... 57

2

6.4 设计一个窗口,取默认布局BorderLayout布局。北面添加一个列表,有4门课程选项。中心添加一个文本区,当选择列表中的某门课程后,文本区显示相应课程的介绍;(JList没有addActionListener方法) .......................................................... 59 6.5 设计一个窗口,取默认布局BorderLayout布局,北面添加一个组合框,组合框有多门课程选项。中心添加一个文本框,当在组合框中选定一门课程后,文本框显示相应课程。 ................................................................................................................. 61 6.6 设计一个JFrame窗口,窗口中心添加一个文本区。另添加4个菜单,每个菜单都有菜单项,每个菜单项都有对应快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。 ......................................................................................................... 62 6.7 设计一个窗口,窗口有两个依赖于它的对话框,一个对话框负责求园的面积;另一个负责求三角形的面积。窗口中一个菜单负责打开这两个对话框。几个图形的数据通过对话框输入。 ................................................................................................. 66 6.8 设计一个JFrame窗口。 ........................................................................................ 69 6.9 设计一个窗口,窗口中有一个文本框。程序对键盘输入进行监视,当输入一个整数和回车字符时,在文本框输入1至该整数的数列和;如果中间输入非数字的其他字符,在文本框中显示输入错误,重新输入的字样。 ......................................... 72 6.10 编写一个演示鼠标拖动和移动的程序。界面设有一个文本区,当鼠标拖动或移动时,在文本区中输出指明鼠标拖动或鼠标移动,及鼠标位置的字样。 ......... 73

第七章 图形、图像和多媒体 ....................................................................................................... 75

7.1 编写一个应用程序,绘制一个五角星。 .............................................................. 75 7.2 用Graphics2D绘制一条抛物线,设抛物线方程的系数从图形界面输入。 ..... 76 7.3 利用Graphics2D的平移,缩放,旋转功能。绘制一个六角星。 ..................... 80 7.4 编写画图程序。 ...................................................................................................... 82 7.5 输入二次曲线的系数,画出二次曲线 .................................................................. 87 7.6. 写音乐播放器,只能播放wav,mid格式的。 .................................................. 92

第八章 多线程 ............................................................................................................................... 97

8.1建立线程有哪两种方法? ....................................................................................... 97 8.2怎样设置线程的优先级? ....................................................................................... 97 8.3编写程序,一个画圆,一个画椭圆。 ................................................................... 97 8.4在多线程程序中,要考虑互斥的原因是什么?在Java中如何解决? ............ 100 8.5在多线程程序中,要考虑同步的原因是什么?在Java中如何解决? ............ 100 8.6模拟排队买票,球票5元,购票者持有5,10,20,50元的,售票员手里开始没有零钱。 ................................................................................................................... 100 8.7修改例8.5程序,使一些暂时找不到零钱等待的顾客能按照先来先买的规则,排队等待购买纪念品。 ............................................................................................... 107

第九章 输入和输出流 ................................................................................................................. 116

9.2一个文本,一个按钮。在文本区中输入数据,点击按钮,将文本内容输出到文件。文件通过文件保存对话框制定。 ....................................................................... 116 9.3在一个文件中,每行存的是整数,各行整数个数不等,要求读这个文件,然后计算每行整数的和,并存到另一个文件中。 ........................................................... 118 9.4在一个文本区中输入数据,把输入的数据分析成各个单词,然后排序显示到第二个文本区中,并通过文件保存对话框保存到文件中。 ....................................... 121 9.5在一个文本区中输入数据,将文本区中的数据存入文件中,在又用户指定的序号,程序从文件中读取对应序号数据,输出到文本框中。 ................................... 123

3