java程序设计第十章十一题参考答案
Java语言程序设计第10章习题参考答案
习题十参考答案10.1什么是进程?什么是线程?二者有什么联系和区别?进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程从产生、发展到消亡的过程。
线程是比进程更小的执行单位。
一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。
每条线索,即每个线程也有它自身的产生、存在和消亡的过程,是一个动态的概念。
在进程运行过程中,每个进程都有一段专用的内存区域,并以PCB作为它存在的标志;与进程不同的是,线程间可以共享相同的内存单元(包括代码与数据),并利用这些共享单位来实现数据交换、实时通信与必要的同步操作。
10.2线程有哪些基本状态?试描述它们的相互转换过程。
新建状态、就绪状态、运行状态、阻塞状态、死亡状态。
相互转换的过程如图:10.3创建线程的方式有哪几种?请举例说明。
1.继承自Thread类,代码逻辑写在子线程中,需要重写run()方法,主线程里start()就可以了。
public class ExtendsThread extends Thread{private final static int THREAD_NUM = 5;public static void main(String[] args){for (int i = 0; i <THREAD_NUM; i++) {new ExtendsThread("thread"+i).start();}}public ExtendsThread(String name){super(name);}@Overridepublic void run() {// TODO Auto-generated method stubfor (int i = 0; i < this.THREAD_NUM; i++) { System.out.println(this.getName()+i);}}}运行结果:thread00thread01thread02thread03thread04thread20thread21thread22thread23thread24thread40thread41thread42thread43thread44thread11thread12thread13thread14thread30thread31thread32thread33thread342.实现Runnable接口public class ImplRunnable implements Runnable {private static final int THREAD_NUM = 5;@Overridepublic void run() {for (int i = 0; i < THREAD_NUM; i++) {System.out.println(Thread.currentThread().getName()+i);}}public static void main(String[] args) {// TODO Auto-generated method stubfor (int j = 0; j < THREAD_NUM; j++) {ImplRunnable implRunnable= new ImplRunnable();new Thread(implRunnable,"thread"+j).start();}}}运行结果thread10thread12thread13thread14thread30thread31thread32thread33thread34thread00thread01thread02thread03thread04thread20thread21thread22thread23thread24thread40thread41thread42thread43thread4410.4试说明线程优先级及其调度的关系,并编写一个程序说明其关系。
Java程序设计基础与实战-习题答案(人邮) 第10章作业参考答案
第10章作业参考答案1 .填空题(1)多线程(2)阻塞Runnable(4)并行(5)同步2 .选择3 .简答题(1)回答要点线程可以彼此独立的执行,它是一种实现并发机制的有效手段,可以同时使用多个线程来完成不同的任务,并且一般用户在使用多线程时并不考虑底层处理的细节。
进程(process)是程序的一次执行过程,或是正在运行的一个程序。
线程是比进程更小的程序执行单位,一个进程可以启动多个线程同时运行,不同线程之间可以共享相同的内存区域和数据。
(2)回答要点有三种方式,如下所示:①继承Thread类:编写简单,如果需要访问当前线程,那么无需使用Thread.currentThread() 方法,直接使用this即可获得当前线程。
但线程类已经继承了Thread类,所以不能再继承其他父类。
②实现Runnable接口:防止由于Java单继承带来的局限性。
但编程稍微复杂,如果要访问当前线程,那么必须使用Thread.currentThread()方法。
③使用Callable接口和Future接口创立多线程:防止由于Java单继承带来的局限性,有返回值,可以抛出异常。
但编程稍微复杂,如果要访问当前线程,那么必须使用Thread. currentThread。
方法。
(3)回答要点线程从新建到死亡称为线程的生命周期。
(4)回答要点启动一个线程是调用start。
方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。
这并不意味着线程就会立即运行。
4 .编程题(1)源代码:参考本章资料文件夹下“作业1”。
(2)源代码:参考本章资料文件夹下“作业2”。
Java程序设计课后练习答案
《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的命令。
A.javacB.javaC.javadocD.javaw2.( D )不是Java程序中有效的注释符号。
A.//B.C.D.3.(A.B.C.D.4.JavaA.B.C.D.5.JavaA.1、JavaJava(JVM)Java以下图展示了Java程序从编译到最后运行的完整过程。
2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。
Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)5)、6)、Java来。
1、/****/}}第二章Java语法基础一、选择题1.下面哪个单词是Java语言的关键字( B )?A. DoubleB. thisC. stringD. bool2.下面属于Java关键字的是( D )。
A. NULLB. IFC. DoD. goto3.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。
如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。
《Java程序设计》课后习题参考答案
高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案――武汉大学出版社习题1参考答案1.Java语言的特点有哪些?答:参考1.1.2防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。
既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。
因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。
这种数据隐藏技术就是面向对象的重要特性——封装。
它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。
即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。
2.简述封装的优点。
答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。
(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。
面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。
通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。
类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。
3.Java的基本工具有哪些?(1)javac 编译器(2)java 解释器(3)jdb Java 语言调试器(4)javadoc API文档管理器(5)javah 头文件生成器(6)appletviewer 小应用程序浏览器(7)javap 类文件反汇编器4.Java开发环境是如何配置的?答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。
java程序设计实用教程第版课后答案
java程序设计实用教程第版课后答案第一章1.Java具有那些适合在Internet环境中的特点【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。
2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制为什么需要这样做【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。
在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。
3.Java对原程序文件的命名规则有什么要求源程序文件编译后生成什么文件【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。
4.Java程序的运行机制是怎样的与C++或其他语言有什么不同【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java 的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。
C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开5.什么是平台无关性Java是怎样实现平台无关性的【答】平台无关性即Java程序的运行不依赖于操作系统。
Java采用虚拟机技术实现平台无关性。
程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java 虚拟机。
6.Java应用程序由哪两种形式他们的运行方式有什么不同【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。
《Java程序设计》课后习题参考答案
《Java程序设计》课后习题参考答案Java程序设计课后习题参考答案1. 介绍在 Java 程序设计课程中,课后习题是帮助学生巩固知识、加深理解和提高编程能力的重要环节。
本文将为大家提供《Java程序设计》课后习题的参考答案,以帮助学生更好地学习和掌握 Java 编程。
2. 基本概念Java 程序设计课后习题涵盖了从基础到高级的各种知识点,包括但不限于变量、数据类型、条件语句、循环语句、数组、类、对象、继承、多态等内容。
通过解答这些习题,学生可以加深对这些概念的理解,并且通过实际操作来巩固他们的编程能力。
3. 习题解答策略当解答课后习题时,以下几个策略可以帮助你更好地理解和解决问题:3.1 仔细阅读题目要求。
确保自己充分理解题目所要求的功能和目标。
3.2 分析问题。
在着手解答问题之前,先理清思路,分析问题的要点和关键部分。
3.3 设计算法。
根据问题的要求,设计一个合适的算法来解决问题。
3.4 编写代码。
用 Java 编程语言将你设计的算法转化为代码实现。
3.5 测试和调试。
对编写的代码进行测试和调试,确保程序能够正常运行,并且得到正确的结果。
4. 习题参考答案示例下面我们将列举几个常见的习题参考答案示例,以帮助大家更好地理解和学习 Java 程序设计:4.1 变量与数据类型:习题要求定义一个整型变量并赋值为10,然后输出该变量的值。
```public class VariableExample {public static void main(String[] args) {int num = 10;System.out.println("变量的值为:" + num);}}```4.2 条件语句:习题要求判断一个数是否是偶数,如果是,则输出“偶数”,否则输出“奇数”。
```public class EvenOddExample {public static void main(String[] args) {int num = 5;if (num % 2 == 0) {System.out.println("偶数");} else {System.out.println("奇数");}}}```4.3 循环语句:习题要求输出1到10之间的所有偶数。
《Java程序设计案例教程》第十章练习答案
第10章多态性与虚函数一、单项选择题1.实现运行时的多态性要使用(D)。
A.重载函数B.构造函数C.析构函数D.虚函数2.通过运算符重载,可以改变运算符原有的(A)。
A.操作数类型B.操作数个数C.优先级D.结合性3.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是(B)。
A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符4.在重载一个运算符时,其参数表中没有任何参数,说明该运算符是(B)。
A.作为友元函数重载的一元运算符B.作为成员函数重载的一元运算符C.作为友元函数重载的二元运算符D.作为成员函数重载的二元运算符5.如果表达式++a中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(D)。
A.a.operator++(1)B.operator++(a)C.operator++(a,1)D.a.operator++()6.如果表达式a>=b中的">="是作为非成员函数重载的运算符,则可以等效地表示为(C)。
A.a.operator>=(b)B.b.operator>=(a)C.operator>=(a,b)D.perator>=(b,a)7.有如下程序:#include<iostream>using namespace std;class A{public:virtual void funl (){cout<<"A1";}void fun2 (){cout<<"A2";}};class B: public A{public:void funl (){cout<<"Bl";}void fun2 (){cout<<"B2";}};int main(){A*p=new B;p->funl ();p->fun2();return 0;}程序执行后,输出结果为(C)。
AnjoyoJava10课后习题带答案
AnjoyoJava10课后习题带答案以下是为大家整理的AnjoyoJava10课后习题带答案的相关范文,本文关键词为AnjoyoJava10,课后,习题,答案,AnjoyoJa,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
AnjoyoJava10课后习题一、选择题:1.下列哪一个是计算机的联网不可以实现的功能()。
A、使用远程资源b、共享信息、程序和数据c、分布处理D、共享硬件2.下列哪个不属于计算机网络按照网络拓扑结构可以分为()的网络类型。
A、星型网络b、光导纤维c、总线网络D、环线网络3.下列关于网络工作模式说法不正确的是()A、专用服务器结构,由若干台微机工作站与一台或多台文件服务器通过通信线路连接起来组成工作站存取服务器文件。
b、客户机/服务器模式,这种典型的用法是银行pos机。
c、客户机/服务器模式,其中一台或几台较大的计算机集中进行共享数据库的管理和存取,称为服务器。
D、对等式网络中没有专用服务器,每一个工作站既可以起客户机作用也可以起服务器作用。
4.下列关于osI参考模型的说法不正确的是()A、数据链路层是最底层,它是网络硬件设备之间的接口。
b、网络层通过网络连接交换网络服务数据单元。
c、会话层提供两个进程间的连接管理功能。
D、应用层是直接面对用户的一层,提供osI用户服务。
5.下列关于Tcp协议说法错误的是()A、Tcp协议它为两台计算机之间的连接起了重要作用。
b、Tcp协议会让它们建立一个连接、发送和接收数据以及终止连接。
c、Tcp协议被称作一种不可靠的端对端协议。
D、Tcp重发一切没有收到的数据,进行数据内容准确性检查并保证分组的正确顺序。
6.下列关于Ip协议说法错误的是()。
A、Internet上的所有数据通过Ip包的方式传输。
b、如果希望能在Internet上进行交流和通信,每台连上Internet的计算机都必须遵守Ip协议。
《JAVA程序设计》习题集及参考答案_IT168文库
标移 出 Applet 的 区 域 范 围 时 触 发 mouseExit() 方 法 (对 ) 36.可以先创建一个空白的 Label 对象,然后再向里面设置具体的文本内容 (错 ) 37.一个容器必须使用 FlowLayout、BorderLayout、GridLayout、CardLayout 和 GridBagLayout 五 种 布 局 策 略 中 的 一 种 (错 ) 38 . 接 口 KeyListener 中 有 两 个 抽 象 方 法 KeyUp() 和 KeyDown() (错 ) 39 . 使 用 GridLayout 布 局 策 略 的 容 器 中 , 所 有 组 件 都 有 相 同 大 小 (对 ) 40 . 一 个 程 序 里 有 且 只 能 有 一 个 公 共 类 , 它 就 是 主 类 。 (对) 41.lass1 类的属性被 private 修饰符修饰为私有变量,所以方法不能访问它。 (错) 42 . 最 终 类 不 能 派 生 子 类 , 最 终 方 法 不 能 被 覆 盖 。 (对) 43 . 子 类 要 调 用 父 类 的 方 法 , 必 须 使 用 super 关 键 字 。 (错) 44 . 一 个 Java 类 可 以 有 一 个 父 类 , 并 实 现 多 个 接 口 。 (对) 45. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所 有 常 量 和 抽 象 方 法 。 (对) 46. 调 用 画 矩 形 方 法 需 要 给 出 的 是 矩 形 左 上 和 右 下 角 的 坐 标 。 (错) 47. TextField 和 TextArea 是用来接受用户输入的组件,但是也可以由程 序 控 制 使 用 户 不 能 在 其 中 输 入 信 息 。 (对) 48. 下面 的语 句把组 件 com 加入 到容器的中央: add(Center,com) ; 。 (错) 49. 二 维 数 组 说 明 语 句 : int a[5][5] = new int[][]; 。 (错) 50. 一 个 容 器 可 以 使 用 多 种 布 局 管 理 器 。 (对) 51. 子 类 要 调 用 父 类 的 方 法 必 须 使 用 super 关 键 字 。 (错) 52. 某程序中的主类不是 Thread 的子类,也没有实现 Runnable 接口,则 这 个 主 类 运 行 时 不 能 控 制 主 线 程 睡 眠 。 (错) 53. 一个 Chckbox 对象既可以作为一个复选按钮,也可以作为一个单选 按 钮 组 中 的 一 个 按 钮 。
Java程序设计实用教程 课后习题答案
第1章Java概述1.3 Java对源程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?答:如果源文件中有多个类,那么只能有一个类是public类。
如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。
Java源程序文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class)。
1.5 什么是平台无关性?Java怎样实现平台无关性?答:平台无关性,是指一个应用程序能够运行于不同的操作系统平台。
Java采用虚拟机技术支持平台无关性。
Java源程序(*.java)经编译生成的是一种中间代码,称为字节码文件(*.class),它由Java虚拟机解释执行,因而与操作系统平台无关。
Java 语言本身设计也体现出平台无关性。
如,int型整数占用32位,与操作系统是16位、32位或64位无关。
1.6 Java应用程序有哪两种形式?它们的运行方式有什么不同?答:Java应用程序有两种形式:Application和Applet。
Application是能够独立运行的应用程序,有控制台和图形用户界面两种运行方式。
Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。
Applet只是Application的特殊形式。
第2章Java语言基础2.2 Java语言的基本类型有哪些?引用数据类型有哪些?答:基本类型包括数值类型和布尔类型(boolean),其中数值类型包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)。
引用数据类型包括数组、类(class)、接口(interface)。
2.7 什么是最终变量?如何声明最终变量?答:Java语言提供一种特殊的变量,只能进行一次赋值,称为最终变量,采用关键字final 声明。
Java程序设计 第10章习题参考答案[1页]
第10章习题参考答案
一、简答题
1.什么是多态?类的多态是怎么实现的?
多态(Polymorphism)按字面的意思就是“多种状态”,在面向对象语言中,接口的多种不同的实现方式即为多态。
多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。
多态通过重载和覆盖实现,重载发生在一个类中,覆盖发生在子类,子类重写父类相同名称的方法。
2.创建多态需要哪些条件?
在代码中实现Java的多态必须遵循的必要条件:存在子类继承父类关系(包括接口的实现)、子类覆盖父类中的方法,在实现多态,需有子类对父类方法的覆盖(重写)。
3.类是怎么向接口转型实现多态的?
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。
所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
Java程序设计 精编教程(第2版)习题解答
习题解答习题一(第1章)1.James Gosling2.需3个步骤:1) 用文本编辑器编写源文件.2) 使用javac 编译源文件,得到字节码文件。
3) 使用解释器运行程序.3.set classpath=D :\jdk\jre\lib\rt 。
jar ;.;4. B5。
Java 源文件的扩展名是。
java ,Java 字节码的扩展名是.class 。
6.D 。
习题二(第2章)1.2. Teac her.javapublic class Teacher {double add (double a,double b) {return a+b;}double sub (double a,double b) {return a-b;}}Student 。
javapublic class Student {public void speak () {System 。
out 。
println ("老师好");}}MainClass 。
javapublic class MainClass {public static void main(String args[]) {height bottomTeacher zhang=new Teacher();System.out.println(zhang。
add(12,236));System。
out.println(zhang.add(234,120));Student jiang=new Student();jiang。
speak();}}3.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。
4.行尾风格。
习题三(第3章)1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
《Java语言程序设计-基础篇》答案-第10章
10.6 答:正确。
网
案
答
后
课
1/3 = 0.3333333333333333 1/2 = 0.5
10.4 答:错误如下:
(1)找不到符号
符号: 方法 add(Rational)
位置: 类 ng.Number
System.out.println(r.add(new Rational())); (2)找不到符号
om 符号: 方法 add(Rational) .c 位置: 类 ng.Number w System.out.println((Rational)r.add(new Rational())); khda 10.5 答:错误原因:ng.Number 是抽象的;无法对其进行实例化 www. Number r = new Number();
网(继承)
(组合)
案 账户和存款账户 (继承)
答
后 10.3 答:输出结果如下:
课1/3 + 1/2 = 5/6
1/2 + 1/3 = 5/6
1/3 - 1/2 = -1/6
1/2 - 1/3 = 1/6
1/3 * 1/2 = 1/6
1/2 * 1/3 = 1/9
1/31/3 = 3/2
绘图略公司和雇员聚集课程和师资关联学生和人继承房子和窗户组合账户和存款账户继承103答
第 10 章 面向对象建模
复习题
10.1 答:
类之间的关系
图形符号
继承
关联 聚集 组合(包容) 依赖
10.2 答:绘图略 公司和雇员 课程和师资
((聚关集联))
学生和人 房子和窗户
2020年智慧树知道网课《基于任务的Java程序设计》课后章节测试满分答案
第一章测试1【判断题】(20分)Java程序可以直接编译为适用于本地计算机的机器码。
A.错B.对2【判断题】(20分)Java是一种不区分大小写的编程语言。
A.对B.错3【单选题】(20分)Java不包括()特点。
A.平台无关性B.可移植性C.分布性D.面向过程4【单选题】(20分)Java源程序的扩展名为()A..classB..jsC..javaD..jav5【单选题】(20分)Java编译成功后生成文件的扩展名为()A..javaB..jsC..classD..jav第二章测试1【单选题】(20分)下列标识符名称不合法是()A.trueB.$mainC.squareD._1232【单选题】(20分)下列选择中,不属于Java语言的简单数据类型的是()A.数组B.浮点型C.字符型D.整数型3【单选题】(20分)下列名称不是Java语言中的关键字的是()A.privateB.sizeofC.if4【判断题】(20分)在Java程序中要使用一个变量,必须先对其进行声明()A.错B.对5【判断题】(20分)以0x或0X开头的整数(如0x45)代表八进制整型常量()A.错B.对第三章测试1【判断题】(20分)简单if结构是顺序程序结构A.对B.错2【判断题】(20分)多重if-else分支结构中的大括号不能省略A.对B.错3【判断题】(20分)switchcase结构中的default为必选参数,必须得写上,否则程序会出错A.对B.错4【单选题】(20分)在流程图中,下面说法正确的是()A.“跑道形”表示判断分支B.“平行四边形”表示输入/输出指令(或数据)C.”菱形”表示计算步骤/处理过程符号D.“长方形'表示程序开始/结束5【单选题】(20分)下列关于if选择结构和switch选择结构的说法正确的是()A.多重if-else选择结构中的else语句是必须的B.嵌套if-else选择结构中不能包含else语句C.switch选择结构中的default可选第四章测试1【判断题】(20分)continue语句用在循环结构中跳过当次continue下面的语句继续执行下一次循环A.对B.错2【判断题】(20分)嵌套循环的次数为外循环的次数加上内循环的执行次数A.对B.错3【单选题】(20分)运行下面的程序将输出()次“我爱中国”publicclassChina{ publicstaticvoidmain(String[]args){ inti=1;do{System.out.println(“我爱中国”);}while(i<5);}}A.4B.死循环C.5D.4【单选题】(20分)阅读下面的程序片断,输出结果是()inta=0;while(a<5){switch(a){case0:case3:a=a+2;case1:case2:a=a+3;default:a=a+5;}}System.out.println(a);A.10B.其他C.D.55【单选题】(20分)阅读下列代码,如果输入的数字是6,正确的运行结果是() importjava.util.*;publicclassTest{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print(“请输入1个1-10之间的数”);intnumber=input.nextInt();for(inti=1;i<=10;i++){if((i+number)>10){break;}System.out.print(i+””);}}}A.123456B.78910C.1234D.5678第五章测试1【判断题】(20分)int[][]x=newint[3][5];所定义的二维数组对象含有15个int型元素。
Java程序设计智慧树知到答案2024年杭州医学院
Java程序设计杭州医学院智慧树知到答案2024年第一章测试1.Java语言与其它语言相比,独有的特点是()A:面向对象B:多线程C:网络编程D:平台无关答案:D2.Android系统是电脑桌面操作系统。
()A:错 B:对答案:A3.机器语言是种高级语言()A:对 B:错答案:B4.开发Java可以不用搭建JDK环境()A:错 B:对答案:A5.Eclipse 是Java常用的IDE ()A:对 B:错答案:A第二章测试1.面有关java基本类型的默认值和取值范围,说法错误的是()。
A:字节型的类型默认值是0,取值范围是-27—27-1B:字符型类型默认是0,取值范围是-215 —215-1C:boolean类型默认值是false,取值范围是true\falseD:long类型默认是0,取值范围是-263—263-1答案:B2.IDE中嵌入的控制台能满足程序的输入输出功能()A:对 B:错答案:A3.Java 使用Scanner类进行控制台输入操作()A:对 B:错答案:A4.3days 是Java中合法标识符()A:对 B:错答案:B5.标识符可以为任意长度,但实际使用中应尽量避免过长的命名,以便于代码阅读()A:对 B:错答案:A第三章测试1.若 a 的值为 3 时,下列程序段被执行后, c 的值是多少?()A:2B:3C:4D:1答案:B2.if else语句嵌套不能超过3层()A:错 B:对答案:A3.if语句只作用于紧接着下去的第一句话,所以用大括号将属于某分支的所有语句扩起来是种良好的工程习惯()A:错 B:对答案:B4.假设表达式p为真,表达式q为假,那么p||q为真()A:对 B:错答案:A5.switch 语句适合离散数值的分支处理()A:错 B:对答案:B第四章测试1.以下代码的输出的正确结果是()A:15B:16C:8D:24答案:C2.Java中 Math.ceil(9.9)返回值为 9 ()A:对 B:错答案:B3.Java中 Math.floor(-3.4)返回值为 -3.0 ()A:错 B:对答案:A4.Java中,字符串是用单引号引起来的0个或者多个字符()A:对 B:错答案:B5.ASCII 已经满足了所有编码需求()A:对 B:错答案:B第五章测试1.下列循环语句序列执行完成后,i的值是()A:10B:2C:11D:不确定答案:C2.循环语句的目的之一是为了避免写重复代码()A:错 B:对答案:B3.While 语句, do while语句都可以用来实现循环目的()A:对 B:错答案:A4.break 可以用于if语句中()A:对 B:错答案:B5.continue语句只能用于循环语句中()A:对 B:错答案:A第六章测试1.下列方法定义中,正确的是()A:int x( ){ ...return true; }B:int x( int a, b){ return a+b; }C:int x( ){ char ch=’a’; return (int)ch; }D:void x( ){ ...return true; }答案:C2.函数调用时,提供的参数要和形参一一对应()A:错 B:对答案:B3.函数的实参可以是常量、变量或表达式()A:错 B:对答案:B4.从工程角度讲,不建议过多使用全局变量()A:对 B:错答案:A5.设计函数层次时,我们主要采用自顶向下的思维进行设计()A:对 B:错答案:A第七章测试1.以下说法错误的是()A:在Java中,数组存储在堆中连续内存空间里B:数组的大小可以任意改变C:数组不是一种原生类D:数组是一个对象答案:B2.数组的使用时,需要先定义,后使用()A:错 B:对答案:B3.假设一维数组的长度为10,那么在使用下标访问数组的时候,下标最大可以为10 ()A:对 B:错答案:B4.Java中,如果用=进行数组拷贝,这个过程是深拷贝,改变其中一个数组,不影响另一个数组()A:错 B:对答案:A5.Java中支持可变长数组形参()A:错 B:对答案:B第八章测试1.以下二维数组声明合法的是()A:char[2][3] ch = new char[][]B:char[2][] ch = new char[][3]C:char[][] ch = new char[2][3]D:char[][] ch = new [2]char[3]答案:C2.二维数组的元素按照行优先进行存储,第一行的元素先于第二行的元素存储,以此类推()A:错 B:对答案:B3.三维数组可以理解为以二维数组为元素的一维数组()A:对 B:错答案:A4.Java中,支持二维数组作为函数参数()A:对 B:错答案:A5.Java中,使用new创建二维数组的时候可省略列数,但不可省略行数()A:错 B:对答案:B第九章测试1.下列关于构造方法的叙述中,错误的是()A:Java语言规定构造方法只能通过new自动调用 B:Java语言规定构造方法名与类名必须相同 C:Java语言规定构造方法不可以重载 D:Java语言规定构造方法没有返回值,但不用void声明答案:C2.为了使包ch4在当前程序中可见, 可以使用的语句是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.11.定义一个Circle2D类,包括:
两个带有get方法的名为x和y的double型数据域,表明园的中心点;
一个带get方法的数据域radius;
一个无参数构造方法,该方法创建一个中心点(x,y)值为(0,0)且radius为1的默认圆;
一个构造方法,创建指定的x,y和radius的圆;
一个返回圆面积的方法getArea();
一个返回圆周长的方法getPerimeter();
如果给定的点(x,y)在这个圆内,那么方法contains(doubel x, double y)返回true;
如果给定的圆在这个圆内,那么方法contains(Circle2D circle)返回true;
如果给定的圆和这个圆重叠,那么方法overlaps(Circle2D circle)返回true。
实现这个类。
编写测试程序,创建一个Circle2D对象c1,其中心点在(2,2),半径为5.5,显示它的面积和周长。
同时,检查点(3,3)
是否位于这个圆的内部。
然后,再检查另一个圆(中心点为(4,5),半径为10.5)是否位于这个圆的内部。
之后,再检查另一个圆(中心点为(3,5),
半径为2.3)是否和这个圆重叠。
代码:
class Circle2D{
double x=0,y=0,radius=1;
public double getX(){
return x;
}
public double getY(){
return y;
}
public double getRadius(){
return radius;
}
Circle2D(){
}
Circle2D(double x,double y,double radius){
this.x=x;
this.y=y;
this.radius=radius;
}
public double getArea(){
return radius*radius*Math.PI;
}
public double getPrimeter(){
return 2*radius*Math.PI;
}
public boolean contains(double x,double y){
double d=Math.pow(x*x+y*y,0.5);
return d<radius?true:false;
}
public boolean contains(Circle2D circle){
return this.radius>circle.radius&&this.getArea()>circle.getArea()?true:false;
}
public boolean overlaps(Circle2D circle){
return this.radius+circle.radius<2*this.radius?true:false;
}
public static void main(String[] args){
Circle2D c1=new Circle2D(2,2,5.5);
c1.getArea();
c1.getPrimeter();
c1.contains(3, 3);
Circle2D c2=new Circle2D(4,5,10.5);
c1.contains(c2);
Circle2D c3=new Circle2D(3,5,2.3);
c1.contains(c3);
System.out.println("c1的面积为:"+c1.getArea()+" c1的周长为:"+c1.getPrimeter());
System.out.println("点(3,3)在圆c1内吗(是为true,不是为否)?"+c1.contains(3, 3));
System.out.println("圆c2在圆c1内吗(是为true,不是为否)?"+c1.contains(c2));
System.out.println("圆c3和圆c1重叠吗(是为true,不是为否)?" +c1.overlaps(c3));
}
}。