接口与程序设计作业答案
接口技术期末试题及答案

接口技术期末试题及答案本文为接口技术期末试题及答案。
1. (试题)接口技术概述接口技术是计算机科学中一个重要的概念,它在各个领域中被广泛应用。
本节将介绍接口技术的基本概念和作用。
接口技术,简而言之,是指一种定义了软件组件之间通信规则的技术。
通过使用接口,不同的软件组件(模块、类等)可以实现相互之间的数据传递和函数调用。
接口技术主要有以下作用:- 实现模块化编程:通过接口,不同的模块可以独立开发和测试,提高了代码的可维护性和可扩展性。
- 降低代码间的耦合度:接口定义了组件之间的通信规则,使得代码的修改不会对其他组件产生不良影响。
- 提高代码的复用性:通过接口,不同的组件可以共享同一套标准接口,减少了代码的开发和维护工作。
- 支持分布式计算:接口技术在分布式计算中扮演了重要的角色,各个节点之间通过接口进行通信和数据交互。
2. (试题)接口技术的实现方式接口技术的实现方式有多种,包括编程语言内置接口、操作系统提供的接口、网络通信协议等。
以下将介绍几种常见的接口实现方式。
- 编程语言内置接口:许多编程语言都提供了内置的接口机制,如Java的接口、C++的虚函数等。
开发者可以使用这些接口来定义组件之间的通信规则。
- 操作系统提供的接口:操作系统通常提供了一组系统调用接口,使得应用程序可以与操作系统进行交互。
例如,Windows提供了WinAPI接口,Linux提供了POSIX接口等。
- 网络通信协议:网络通信协议定义了网络设备之间的通信规则,如HTTP、TCP/IP、RESTful等。
通过使用这些协议,不同的应用程序可以在网络上进行数据交换。
3. (试题)接口设计原则在开发过程中,良好的接口设计对于系统的稳定性和可维护性至关重要。
以下介绍几个接口设计的原则。
- 单一职责原则:一个接口应该只有一个单一的功能。
如果接口的职责过于复杂,建议进行拆分,以提高代码的可读性和可维护性。
- 接口应该易于使用:接口的使用应尽可能简单直观,减少学习成本和出错的可能性。
《java程序设计》作业答案

《JA V A程序设计》作业答案一、选择题1、编译HelloWorld.java的正确命令是:C)javac HelloWorld。
java2、正确运行HelloWorld。
java的正确命令是:A)java HelloWorld3、下面程序代码,使用多行注释正确的是:C)/* int k=9;int j=8;k = k + j; */4、long型的取值范围是:D)-263~263-15、下面不属于Java保留字的是:C)malloc6、下面属于非法的Java标识符的是:D)abc—d7、对与System。
out.println()语句解释合理的是:C)执行后输出一个空行8、阅读下面的代码,回答问题,for( m = 0 ; m 〉—2 ; m —- ){….}For循环执行多少次:C)29、阅读下面的代码,回答问题,for( m = 0;m 〈5; m++ ){System。
out。
print(m + "," );if(m == 3 )break;}执行结果是:C)0,1,2,3,10、阅读下面的代码,回答问题,public class Ex{int x = 1;void m(){int x = 3;System.out.print( ”x= " + x);}public static void main(String[]args ){Ex ex = new Ex();ex。
m();}}执行结果是:B)x=311、下面语句在编译时不会出现错误信息的是:a) float f = 1.3;b)char c = ”a";c) byte b = 257;d) boolean b = null;e) int i = 10;12、编译和运行下面的代码,会有什么结果产生:public class MyClass {public static void main(String arguments[]){amethod(arguments);}public void amethod(String[]arguments){System.out。
单片微型计算机原理及接口技术答案

单片微型计算机原理及接口技术答案【篇一:单片微型计算机原理与接口技术髙锋版课后答案第4章】txt>思考与练习题解析【4—1】简述下列基本概念:程序、程序设计、机器语言、汇编语言及高级语言。
【答】各基本概念如下。
【4—2】在单片机领域,目前最广泛使用的是哪几种语言?有哪些优越性?单片机能否直接执行这几种语言?【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。
但编程比使用高级语言困难,通用性差。
单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。
高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。
对于高级语言,这一转换工作通常称为“编译”或者“解释”。
进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。
【4—3】什么叫伪指令?8oc51单片机程序设计中主要有哪些伪指令语句?【答】伪指令又称为“汇编程序控制译码指令”。
“伪”体现在汇编时不产生机器指令代码,不影响程序的执行,仅指明在汇编时执行一些特殊的操作。
例如.为程序指定一个存储区,将一些数据、表格常数存放在指定的存储单元,说明源程序开始或结束等.。
不同的单片机开发装置所定义的伪指令不全相同。
80c51单片机程序设计中主要有伪指令语句如下。
1.org(origin)一汇编起始地址伪指令,指令格式为:org 表达式’其含义是向汇编程序说明,下述程序段的起始地址由表达式指明。
表达式通常为十六进制地址码。
2.end(end 0f assembly)一汇编结束伪指令。
其含义是通知汇编程序,该程序段汇编至此结束。
3.equ(equate)—赋值伪指令。
指令格式为:标号 equ 表达式其含义是把表达式赋值于标号,这里的标号和表达式是必不可少的。
2022年大工秋程序设计在线作业满分答案

大工15秋《Java程序设计》在线作业3满分答案一、单项选择题(共 10 道试题,共 50 分。
)1.this关键字旳含义是表达一种()。
A.指针B.目前对象C.一种类D.一种措施对旳答案:B2. 接口中措施默认是()类型。
A.private大众理财作业满分答案B.protectedC.publicD.package对旳答案:C3. 一种类旳构造措施被自动调用旳时机是()。
A.定义类时B.使用对象旳属性时C.使用对象旳措施时D.一种类旳实例对象刚产生时对旳答案:D4. Java使用()关键字来定义一种接口。
A.implementsB.classC.extendsD.interface对旳答案:D5.构造措施是一种特殊旳措施,它旳名字必须与()相似,并且不返回任何数据类型。
B.对象名C.包名D.变量名对旳答案:A6. JPanel默认旳布局管理器是()。
A.FlowLayoutB.CardLayoutC.BorderLayoutD.GridLayout对旳答案:A7. 如下哪个是处理可变字符串旳类()。
A.StringB.StringBufferC.Object对旳答案:B8. 类定义代码被置于其他类定义中旳类是()。
A.外部类B.内部类C.匿名类D.抽象类对旳答案:B9. 处理日期旳类在Java旳哪个包中()。
A.java.utilB.jav.iong对旳答案:A10. 若有定义String s=A.7B.13C.14D.8对旳答案:B大工15秋《Java程序设计》在线作业3二、判断题(共 10 道试题,共 50 分。
)1.用final修饰旳措施既不能被覆盖,也不能被重载,它是一种最终措施,其措施旳定义永远不能变化。
A.错误B.对旳对旳答案:B2. final修饰旳措施一定要存在于final类中。
A.错误对旳答案:A3. super()和this()调用语句可以同步在一种构造函数中出现。
A.错误B.对旳对旳答案:A4.在构造措施中如调用super()语句,则必须使其成为构造措施中旳第一条语句。
C#第3版第4章习题解答

Ch4 接口委托与事件习题解答
1.简要回答接口与抽象类的区别?
【解答】
在某种程度上,接口的作用和抽象类的作用相似,但与抽象类不同的是,接口是完全抽象的成员集合。
另外,类可以继承多个接口,但不能继承多个抽象类。
抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
设计优良的接口往往很小且相互独立,减少了发生性能问题的可能。
2.简要回答委托与事件的关系?
【解答】
事件(event)是一种使类或对象能够提供通知的成员,事件是利用委托来实现的。
要在应用程序中使用事件,必须提供一个事件处理程序(事件处理方法),以便与事件关联的委托能自动调用它。
事件是利用委托来实现的,因此声明事件前,需要先定义一个委托,定义了委托以后,就可以用event关键字声明事件了。
3. 设计一个Windows应用程序,窗体上有一个Button按钮,两个TextBox文本框,其中Button
的【Text】属性初值为“序列化”,一个TextBox显示序列化之前的内容,一个TextBox显示反序列化后的结果。
要求:窗体运行时,在文本框内输入信息,单击按钮,将其信息系列化到本地的二进制文件中,同时修改按钮的【Text】属性值为“反序列化”。
再次单击按钮时,则文件中的信息反序列化到窗体的另一个TextBox中显示。
1。
Java程序设计基础与实战-习题答案(人邮) 第7章作业参考答案

第7章作业参考答案1.填空题Collction(1)ListSet(2)M叩Collections2.选择3,简答题(1)回答要点List是有序的可重复的Collection,使用此接口能够精确的控制每个元素插入的位置。
能够使用索引高效地访问List中的元素,这类似于Java的数组。
Set是一种无序的不包含重复元素的Collection,相比List,它可以更高效地处理增添和删除元素。
(2)回答要点Collection是集合类的上级接口,继承于他的接口主要有Set和List, Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
(3)回答要点Iterator可用来遍历Set和List集合,但是Listiterator只能用来遍历List。
Iterator对集合只能是前向遍历,Listiterator既可以前向也可以后向。
Listiterator实现了Iterator接口,并包含其他的功能,比方:增加元素,替换元素,获取前一个和后一个元素的索引等。
(4)回答要点通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写1创立事件源对象和事件监听器对象1调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象(4)回答要点Enumeration速度是Iterator的2倍,同时占用更少的内存。
但是,Iterator远远比Enumeration 安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象。
同时, Iterator允许调用者删除底层集合里面的元素,这对Enumeration来说是不可能的。
(5)回答要点它提供了编译期的类型安全,确保你只能把正确类型的对象放入集合中,防止了在运行时出现ClassCastExceptiono程序的可读性和健壮性更高。
(完整版)Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据种类变量拥有基本属性为( A 、变量名 B、数据种类ABCD )C、储存单元D、变量值。
2、面向对象技术的特征是(ACD )A 、继承性B 、有效性C、多态性3、以下哪个命题为真?(C)D 、封装性。
A、全部类都一定定义一个结构函数。
B、结构函数一定有返回值。
C、结构函数能够接见类的非静态成员。
D、结构函数一定初始化类的全部数据成员。
4、对于子类与父类关系的描绘正确的选项是(ACD )A、子种类的数据能够隐式变换为其父种类的数据;B、父种类的数据能够隐式变换为其子种类的数据;C、父种类的数据一定经过显示种类变换为其子种类的数据;D、子种类实例也是父种类的实例对象。
5、以下哪一项说法最好地描绘了Java 中的对象?( C)A 、对象是经过import 命令引入到程序中的全部事情B、对象是方法的会合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或许计算和返回值C、对象是一种数据结构,它拥有操作数据的方法D、对象是一组拥有共同的结构和行为的类6、下边哪个重点字不是用来控制对类成员的接见的?(C)A 、 public B、 protected C、 default D、 private7、 Java 语言正确的常量修饰符应当是(D)A 、 final B、 static final C、 static D、 public static final ;8、接口的全部成员域都拥有public、static和final属性。
9、接口的全部成员方法都拥有public和abstract属性。
10、编译以下源程序会获得哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B)只有 A1.class 和 A2.class 文件C)有、 A2.class 和 B.class 文件D)编译不行功11、以下哪一种说法是正确的?( A )A、私有方法不可以被子类覆盖。
接口与程序设计作业(附答案)

(1)[], 1000
答:数据类型不匹配,目的地址单元是字节单元,1000大于255。无法存放。
(2), []
答:后只能跟标识符。
(3)1, 2
答:的两个操作数不能同时在存储器中。
(4),12
答:运算符只能对常数进行操作,不能对变量进行操作。
:, []
LOOP
,AL
25题(P185).编写一个程序段,将寄存器中的16位数连续4位分成一组,共4组,然后把这4组数分别放在、、和中。
,
AL, 0
, 4
,
, 0
,
,
, 0
,
, 0
27题(P185).已知用于数码显示的代码表位为:0C0H,0,0A4H, 0B0H,99H,92H,82H,0F8H,80H,90H,88H,
A ?
B ?
?
, A
, B
, 2
, 2
2
22题(P184).编写程序完成12H,45H,0F3H 6,20H,0,90H,0C8H,57H和34H共10字节数据之和,并将结果存入字节变量中(不考虑溢出)。
1 12H,45H,0F3H6,20H,0, 90H,0C8H, 57H,34H
, 10
, 0
1
(1) , 1200H
解:1200H
(3) , [1200H]
解:物理地址×16+1221200H,所以4C2
(5) , [1100H]
解:物理地址×1611110021200H ,所以4C2
(7) , [][1100H]
解:物理地址×161102H ,所以65B7H
计算机设计程序员练习题及答案

计算机设计程序员练习题及答案1. 以下哪种编程语言属于面向对象编程语言?()A. C语言B. C++语言C. Java语言D. Python语言答案:B解析:C++语言是一种面向对象编程语言,它结合了过程式编程和面向对象编程的优点。
2. 在C++中,以下哪个关键字用于定义类的私有成员?()A. protectedB. publicC. privateD. friend答案:C解析:在C++中,private关键字用于定义类的私有成员,这些成员只能被类内部的其他成员函数访问。
3. 以下哪种数据结构支持动态内存分配?()A. 数组B. 链表C. 栈D. 队列答案:B解析:链表是一种支持动态内存分配的数据结构,它可以根据需要动态地增加或删除元素。
4. 在Java中,以下哪个关键字用于声明接口?()A. classB. interfaceC. extendsD. implements答案:B解析:在Java中,interface关键字用于声明接口,接口是一种抽象的类,其中只包含抽象方法和静态常量。
5. 以下哪种编程语言属于函数式编程语言?()A. Python语言B. JavaScript语言C. Haskell语言D. Ruby语言答案:C解析:Haskell语言是一种函数式编程语言,它以函数为中心,强调表达式的不可变性。
二、填空题1. 在C++中,构造函数的返回类型是 _______ 。
答案:无返回值(void)解析:在C++中,构造函数的返回类型是void,因为构造函数的作用是创建对象,而不是返回值。
2. 在Java中,接口中的方法默认是 _______ 的。
答案:抽象(abstract)解析:在Java中,接口中的方法默认是抽象的,这意味着它们没有具体的实现,需要在实现接口的类中重写这些方法。
3. 在Python中,以下哪个函数用于获取字符串的长度?()答案:len()解析:在Python中,len()函数用于获取字符串的长度。
java程序设计期末试题及答案

java程序设计期末试题及答案一、选择题(每题2分,共20分)1. Java中用于定义类的关键字是()。
A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中合法的变量名?()A. 2ndVariableB. _firstVariableC. variable$nameD. int答案:B3. Java中,下列哪个选项不是基本数据类型?()A. intB. doubleC. StringD. char答案:C4. Java中,下列哪个关键字用于捕获异常?()A. tryB. catchC. finallyD. all of the above答案:D5. 在Java中,下列哪个选项是正确的继承关系?()A. public class A extends B implements C {}B. public class A implements B, C {}C. public class A extends B, C {}D. public class A implements B extends C {}答案:A6. Java中,下列哪个选项是正确的方法重载?()A. public void display(int i) {}public void display(int i, int j) {}B. public int display(int i) {}public void display(int i) {}C. public void display(int i) {}public void display(double i) {}D. public void display(int i) {}public void display(int i, int j) {}答案:A7. 在Java中,下列哪个选项是正确的数组初始化方式?()A. int[] myArray = new int[5];B. int[] myArray = {5};C. int[] myArray = new int[]{5};D. All of the above答案:D8. Java中,下列哪个选项是正确的多线程创建方式?()A. class MyThread extends Thread {}B. class MyRunnable implements Runnable {}C. class MyThread implements Thread {}D. All of the above答案:B9. Java中,下列哪个选项是正确的集合初始化方式?()A. List<String> list = new ArrayList<>();B. List<String> list = new LinkedList<>();C. List<String> list = new Vector<>();D. All of the above答案:D10. Java中,下列哪个选项是正确的泛型使用方式?()A. List<String> list = new ArrayList<>();B. List list = new ArrayList<>();C. List<String> list = new ArrayList<String>();D. List list = new ArrayList<String>();答案:A二、填空题(每题2分,共20分)1. Java中,用于定义接口的关键字是____。
程序设计题库及答案详解

程序设计题库及答案详解一、选择题1. 下列哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 过程化答案:D2. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 以下哪个是Python中的循环结构?A. forB. whileC. both A and BD. none of the above答案:C二、填空题1. 程序设计中的________是用来定义数据的属性和方法的集合。
2. 在C语言中,________关键字用于声明一个函数。
答案:void 或者 int(根据函数返回类型而定)3. 在JavaScript中,________方法用于将字符串转换为数字。
答案:parseInt 或 parseFloat(根据转换类型而定)三、简答题1. 请简述什么是递归函数,并给出一个简单的递归函数示例。
答案:递归函数是指在函数内部调用自身的函数。
递归函数通常用于解决可以分解为相同问题的子问题的问题。
以下是一个计算阶乘的递归函数示例:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```2. 解释什么是堆栈,并说明它们在程序设计中的应用。
答案:堆栈是两种不同的数据结构。
堆是一种优先队列,其中最大或最小元素可以在对数时间内被找到。
栈是一种遵循后进先出(LIFO)原则的数据结构。
在程序设计中,堆栈广泛应用于内存管理、函数调用、表达式求值、回溯算法等领域。
四、编程题1. 编写一个函数,实现字符串的反转。
```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组nums,请找出数组中最长递增子序列的长度。
答案:```pythondef lengthOfLIS(nums):if not nums: return 0dp = [1] * len(nums)for i in range(1, len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)```五、案例分析题1. 描述一个场景,其中使用多线程可以提高程序的效率,并解释为什么。
java答案第五章

"改变Pi=3.00圆的面积:"+c.area());
}
}
运行结果:
3.在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化成子类对象的引用?
答:一个对象被塑型为父类或接口后,可以再一次被塑型回到它原来所属的类,即转化成原类对象的引用。
4.声明一个接口,此接口至少具有一个方法;在一个方法中声明内部类实现此接口,并返回此接口的引用。
public class Circle implements Shape2D{
double radius;
public Circle(double r){radius=r;}
public double area(){return Pi*radius*radius;}
}
//A类(测试接口中隐含final的area()方法)
this.id=newid;
}
public void setname(String newname){
=newname;
}
public void setscoreOfenglish(float newscoreOfenglish){
this.scoreOfenglish=newscoreOfenglish;
//Student类
public class Student{
String id;
String name;
float scoreOfenglish;
float scoreOfmath;
float scoreOfcomputer;
float scoreOfsum;
//构造方法
public Student(){
Java语言程序设计第12章习题参考答案

习题十二参考答案1.什么是JDBC,请描述一下JDBC的架构。
答:JDBC的全称是Java Database Connectivity,即Java数据库连接,它是由SUN公司制定的一个与访问数据库有关的API规范,即一系列Java接口。
该规范规定了JDBC的使用者,如何以统一标准方式使用JDBC驱动程序与数据库交互。
也规定了JDBC实现者,如何按照什么样的标准实现各自的JDBC驱动。
2.JDBC由哪些组件组成,各自作用是什么?答:DBC的实现包括3部分。
1)JDBC驱动管理器:即java.sql.DriverManager类,由SUN公司实现,负责注册特定JDBC驱动器,以及根据特定驱动器建立与数据库的连接。
2)JDBC驱动器API:由SUN公司制定,其中主要接口是java.sql.Driver接口。
3)JDBC驱动器:由数据库供应商或者第三方工具提供商创建,也称为JDBC驱动程序。
JDBC驱动器实现了JDBC驱动器API,负责与特定的数据库连接,以及处理通信细节,它可以注册到JDBC驱动管理器中。
3.什么是JDBC驱动器,其常见类型有哪些,各自有什么特点?答:JDBC驱动器是由数据库供应商或者第三方工具提供商创建。
它负责与特定的数据库连接,以及处理通信细节。
常见的JDBC驱动器有4种,分别是JDBC-ODBC桥驱动器、JDBC-Native API、JDBC-网络协议驱动器、数据库协议驱动器。
1)JDBC-ODBC桥驱动器。
该类驱动是一个使用了ODBC驱动来连接数据库的驱动器。
在使用时,该驱动将JDBC方法调用转换成ODBC方法调用。
这种类型驱动仅在实验时或者别无选择时才使用。
2)JDBC-Native API。
JDBC API调用被转换为数据库所独有的本地C/C++ API调用。
这些驱动器典型的由数据库供应商提供,因此,如果改变了数据库,那么也必须改变本地API。
3)JDBC-网络协议驱动器。
Java程序设计 测验-4.6接口 深大优课UOOC 慕课答案

⼀、单选题
(共 60.00 分)⼆、判断题
(共 40.00 分)Java 程序设计(深圳⼤学继续教育学院引进课程) 测验-4.6接⼝1. A.B.C.D.interface 可以被以下哪个修饰符修饰
private
class
public
static
正确答案:C
2. A.B.C.D.关于接⼝的定义和实现,以下描述正确的是:
接⼝定义的⽅法只有实现
接⼝中的变量默认是public 、final 和static 的
如果⼀个接⼝由多个类来实现,则这些类在实现该接⼝中的⽅法时采⽤统⼀的代码
如果⼀个类实现了接⼝,则必须实现该接⼝中的所有⽅法,但⽅法可不为public
正确答案:B
3. A.B.C.D.关于接⼝下⾯不正确的说法是:
接⼝不⽀持多重继承
接⼝所有⽅法是抽象的
接⼝⾥的⽅法访问属性均为public
实现接⼝的关键字是implements
正确答案:A
1. A.B.⼀个类只能继承单个⽗类,⼀个类只能实现⼀个接⼝。
正确
错误
正确答案:B
2. A.B.接⼝不能声明构造函数。
正确
错误
正确答案:A。
java程序设计期末考试模拟试题2及答案

《Java程序设计》模拟试题2一、选择题(4分/题,共5个,共20分)1.关于抽象类下列哪个描述正确?(A).抽象类不能包含抽象方法。
(B).接口和抽象类是一回事。
(C).抽象类不能实例化,即不能生成对象。
(D).抽象类可以实例化对象。
答案:C。
解析:抽象类可以包含抽象方法,A错。
设计上,接口用来规范类的行为,抽象类更偏向于定义类别;语法上,抽象类只能继承一个,接口可以实现多个。
抽象类不可以实例化,D错。
2.如果你要做GUI编程,要在窗口上放置一个按钮,当点击按钮时使得窗口关闭,程序退出,则你应该怎样写import语句才正确?(A).import java.awt.*;(B).import java.awt.event.*;(C).import javax.swing.*;(D).import java.awt.*;import java.awt.event.*;答案:D。
解析:进行图形界面开发必须引入包awt和event下的类。
3.下列哪个说法是错误的。
A.程序员可以定义新的异常类B.Exception可以用try/catch进行捕获处理C.Exception可以递交给上一级调用方处理D.类似像IOException等异常,程序可以忽略不进行捕获和处理答案:D。
解析:Java中只要继承Exception类,就可以自己定义异常类,A说法正确。
B、C说法是常识,均正确。
Java中异常必须处理,D错误,选D。
4.如果有一个对象myListener(其中myListener对象实现了ActionListener接口),下列哪条语句使得myListener对象能够接受处理来自于smallButton按钮对象的动作事件?A)smallButton.add(myListener);B)smallButton.addListener(myListener);C)smallButton.addActionListener(myListener);D)smallButton.addItem(myListener);答案:C。
04747Java语言程序设计教材程序设计题答案

04747Java语言程序设计(一)2017年版课后思考题与练习题程序设计题参考答案第三章流程控制语句5.1题_____________________________________________________________________________ public class Chapt3_5_1 {public static void main(String[] args) {int n[ ]={2,4,6,8,10};//分别计算2、4、6、8、10int stepmulti=1;for (int i=0;i<n.length;i++){stepmulti*=n[i];System.out.println("n["+i+"]!="+n[i]+"!="+stepmulti);}}}5.2题_____________________________________________________________________________ public class Chapt3_5_2 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=0.000f;for (float i=1;i<=n;i++)sum=sum+(1/i);System.out.println("S=1+1/2+1/3+.....+1/n="+sum);}}5.3题_____________________________________________________________________________ public class Chapt3_5_3 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=1.000f;for (float i=1; i<=n;i++)sum=sum+1/(3*i);System.out.println("S=1+1/3+1/6+...+1/3n="+sum);}}5.4题_____________________________________________________________________________public class Chapt3_5_4 {public static void main(String[] args) {int n=7;int i=0;while(i<n){if (i<n/2){for (int j=0; j<i;j++) System.out.print(" ");for (int k=0; k<n-2*i; k++) System.out.print(" * ");}else {for (int m=0; m<n-i-1;m++) System.out.print(" ");for (int k=0;k<n-(n-(i+1))*2;k++)System.out.print(" * ");}i++;System.out.println("");}}}5.5题_____________________________________________________________________________ public class Chapt3_5_5 {public static void main(String[] args) {int n=10;int i=0;while (i<10){for (int j=1;j<n-i;j++)System.out.print(" * ");i++;System.out.println();}}}5.6题_____________________________________________________________________________ public class Chapt3_5_6 {public static void main(String[] args) {for (int i=1;i<10;i++)System.out.print("\t "+i);for (int i=1;i<10;i++){System.out.print("\n"+i+"\t");for (int j=1;j<10;j++)System.out.print(j+"*"+i+"="+i*j+"\t");}}}5.7题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_7 {public static void main(String[] args) {String str;Scanner scan=new Scanner(System.in);System.out.println("请输入一串字符:");str=scan.nextLine();int k=0;goon: for(int i=0;i<str.length();i++){if (!(str.substring(i,i+1).equals(str.substring(str.length()-i-1,str.length()-i)))) {System.out.println("你输入的字符串("+str+")不是回文");k=1;break;}else continue goon;}if (k==0) System.out.println("你输入的字符串("+str+")是回文");scan.close();}}5.8题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_8 {public static void main(String[] args) {int n=0;Scanner scan=new Scanner(System.in);System.out.println("请输入一个整数:");int num=scan.nextInt();for (int i=2;i<num;i++){if (num%i==0){System.out.println(num+"非质数!");break;}else n=1;}if (n==1)System.out.println(num+"是个质数!");scan.close();}}5.9题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_9 {public static void main(String[] args) {Scanner t=new Scanner(System.in);System.out.println("请输入华氏温度:");double tin=t.nextDouble();System.out.println("转换后的摄氏温度为:"+(tin-32)/1.8);t.close();}}5.10题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_10 {public static void main(String[] args) {double s;Scanner leng=new Scanner(System.in);System.out.println("请输入三角形的第一条边长a:");double a=leng.nextDouble();System.out.println("请输入三角形的第二条边长b:");double b=leng.nextDouble();System.out.println("请输入三角形的第三条边长c:");double c=leng.nextDouble();if (a+b<=c||a+c<=b||b+c<=a||Math.abs(a-b)>=c||Math.abs(a-c)>=b||Math.abs(b-c)>=a) System.out.print("您输入的三条边无法构成三角形");//题目未要求判断,可以忽略else {s=(a+b+c)/2;System.out.println("这个三角形的面积S为"+Math.sqrt(s*(s-a)*(s-b)*(s-c)));}leng.close();}}5.11题_____________________________________________________________________________ import java.util.Calendar;//获取系统当年年份需要用到import java.util.Scanner;/***根据本书进度编写的程序,重复代码比较多,读者可在学习后续章节后再优化**/public class Chapt3_5_11 {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入数字1、2、3选择你要执行的操作,1、输入一个月份,打印当年该月的月历;2、输入当年的一个日期,查询当天是星期几;3、查询两个日期之间相差几天。
Java程序设计答案最精版(附实验指导)

Java程序设计--习题答案第1章3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用?一台计算机由硬件和软件组成。
一台典型的计算机由五大部分组成。
这五大部分是:运算器,控制器,存储器,输入设备和输出设备。
运算器是执行算术运算和逻辑运算的部件。
控制器是向计算机其他部分发送命令的部件。
存储器是计算机用来存储数据、信息的部件。
输入设备就是外界向计算机输入信息设备。
输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。
9、将以下十进制数转换为对应的二进制数(1)32 (2)97 (3)256 (4)500(1)100000 (2)1100001 (3)100000000 (4)111110100第2章1.Java语言有哪些主要特点。
平台独立性安全性多线程网络化面向对象3.Java Application的开发步骤有哪些。
Java Application的开发步骤:(1)下载JDK软件并安装;(2)配置相应的环境变量(path和classpath);(3)编写Java源程序(文本编辑器或集成开发环境IDE);(4)编译Java源程序,得到字节码文件(javac *.java);(5)执行字节码文件(java 字节码文件名)。
4.什么是环境变量,设置环境变量的主要目的是什么。
环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。
第3章1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。
a a2 3a *a _a $a int a%在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。
另外,Java语言对标识符的有效字符个数不做限定。
合法的标识符:a a2 _a $a5.数据类型强制转换的原则是什么?如何转换?对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。
接口与汇编程序设计作业答案

习题1(教材P56)1.8086/8088微处理器地址总线有多少位?寻址范围是多少?答:20位 A0-A19。
寻址范围00000H-FFFFFH2.8086/8088微处理器分哪两部分?各部分主要由什么组成?答:执行单元EU和总线接口单元BIU。
EU包括:ALU、寄存器组、暂存器、标志寄存器、EU控制单元。
BIU包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。
4.8086/8088微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器?答:8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。
2个变址寄存器SI、DI。
2个指针寄存器SP、BP。
DS、ES、SS、CS段地址寄存器。
5.8086/8088微处理器中有哪些标志位?它们的含义和作用如何?答:零标志位ZF、进位标志CF、溢出标志位OF、辅助进位标志位AF、奇偶标志位PF、符号标志位SF、方向标志位DF、中断允许标志位IF、跟踪标志TF。
6.试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别?1278H+3469H答:0001 0010 0111 1000+0011 0100 0110 10010100 0110 1110 0001ZF=0;SF=0;CF=0;OF=0;AF=1;PF=1。
54E3H-27A0H答:0101 0100 1110 0011+1101 1000 0110 0000(-27A0的补码)10010 1101 0100 0011ZF=0;SF=0;CF=1;OF=0;AF=0;PF=0。
3881H+3597H答:0011 1000 1000 0001+0011 0101 1001 01110110 1110 0001 1000ZF=0;SF=0;CF=0;OF=0;AF=0;PF=1。
01E3H-01E3H答:0000 0001 1110 0011+1111 1110 0001 1101(-01E3H的补码)10000 0000 0000 0000ZF=1;SF=0;CF=1;OF=0;AF=1;PF=1。
Java程序设计(接口)期末单元测试与答案

一、单选题1、下列关于抽象类和抽象方法,叙述错误的是()。
A.抽象类中的普通方法,可以不必实现B.在类中没有方法体的方法,就是抽象方法C.抽象类中的抽象方法必须被实现D.如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象方法正确答案:D2、下列关于抽象方法,不正确的是()。
A.如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类B.抽象方法必须为public或者protectedC.抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类D.抽象类能直接实例化,需要依靠子类采用向上转型的方式处理正确答案:D3、已知关于抽象方法错误代码,正确修改是():class Base{abstract void hello(){System.out.println("hello");}}A.final class Base{ abstract void hello();}B.public class Base{ abstract void hello();}C.abstract class Base{ abstract void hello();}D.class Base{ void hello();}正确答案:C4、下列关于抽象类和接口说法不正确的是()。
A.一个类可以继承多个抽象类,却只可以实现一个接口B.接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法C.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的D.抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法正确答案:A5、下面关于接口的说法不正确的是()。
A.子接口继承父接口,使用的关键字是implementsB.接口中所有的方法都是抽象的C.接口是Java中的特殊类,包含常量和抽象方法D.接口中所有方法的访问权限都是public正确答案:A6、一个类通过()关键字声明自己实现一个或多个接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题1(教材P56)1.8086/8088 微处理器地址总线有多少位?寻址范围是多少?答:20位A0-A19 。
寻址范围00000H-FFFFFH2.8086/8088 微处理器分哪两部分?各部分主要由什么组成?答:执行单元EU和总线接口单元BIU。
EU包括:ALU、寄存器组、暂存器、标志寄存器、EU控制单元。
BIU 包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。
4.8086/8088 微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器?答:8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。
2 个变址寄存器SI、DI。
2 个指针寄存器SP、BP。
DS、ES、SS、CS段地址寄存器。
5.8086/8088 微处理器中有哪些标志位?它们的含义和作用如何?答:零标志位ZF、进位标志CF、溢出标志位OF、辅助进位标志位AF、奇偶标志位PF、符号标志位SF、方向标志位DF、中断允许标志位IF 、跟踪标志TF。
6.试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别?1278H+3469H答:0001 0010 0111 1000+0011 0100 0110 10010100 0110 1110 0001ZF=0;SF=0;CF=0;OF=0;AF=1;PF=1。
54E3H-27A0H答:0101 0100 1110 0011+1101 1000 0110 0000(-27A0 的补码)10010 1101 0100 0011ZF=0;SF=0;CF=1;OF=0;AF=0;PF=0。
3881H+3597H答:0011 1000 1000 0001+0011 0101 1001 01110110 1110 0001 1000ZF=0;SF=0;CF=0;OF=0;AF=0;PF=1。
01E3H-01E3H答:0000 0001 1110 0011+1111 1110 0001 1101(-01E3H 的补码)10000 0000 0000 0000ZF=1;SF=0;CF=1;OF=0;AF=1;PF=1。
进位表示最高位产生进位。
溢出表示超出数的表示范围。
OF=C n○﹢C n-18.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址:产生实际地址的两个地址分量:首地址和偏移地址。
物理地址:内存单元地址。
用户在编写程序时只使用逻辑地址。
程序装到内存中使用物理地址。
物理地址可以通过逻辑地址求得。
9.设现行数据段位于存储器的B0000H 到BFFFFH 存储单元,DS 段寄存器内容为多少?答:DS=B000H11.8086/8088 微处理器工作在最小模式和最大模式时的主要特点是什么?有何区别?答:最小模式只有一个CPU不需要总线控制器。
最大模式有多个微处理器,必须要总线控制器来对总线控制权进行分配。
引脚MN/MX=1工作在最小模式。
MN/MX=0工作在最大模式。
13.80486 地址总线宽度为多少?数据总线宽度为多少?答:80486地址总线宽度为32位(分成4个块,每个块为8位字长,块有A1,A0 选择)有数据总线宽度为32 位。
14.现有6 个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为400A5H~400AAH,若当前的(DS)=4002H,请说明它们的偏移地址值。
如果从存储器中读出这些数据,至少需要访问几次存储器,各读出哪些数据?解:∵物理地址=(DS)× 16+偏移地址,∴偏移地址=物理地址-(DS)×16=400A5H~400AAH-40020H=85~H 8AH 至少需要访问三次存储器,每次读出一个字,即2211H,4433H,6655H。
这六个数在存储器中的存放位置如图所示。
习题2( 教材P105)1.已知DS=2000H ,BX=0100H ,SI=0002H ,存储单元[20100H]~[20103H] 依次存放12 24 56 78H ,[21200H]~[21203H] 依次存放2A 4C B7 65H ,说明下列每条指令执行后AX 寄存器的内容。
(1)MOV AX, 1200H 解:AX=1200H(3)MOV AX, [1200H] 解:物理地址=D S×16+1200H=20000H+1200H=21200H,所以AX=4C2AH(5) MOV AX, [BX+1100H] 解:物理地址=DS×16+BX+1100H=20000H+0100H+1100H=21200H ,所以AX=4C2AH(7) MOV AX, [BX][SI+1100H]解:物理地址=D S× 16+BX+SI+1100H=20000H+0100H+0002H+1100H=21202H, 所以AX=65B7H(2)MOV AX, BX 解:AX=0100H(4)MOV AX, [BX]解:物理地址=D S×16+BX=20000H+0100H=20100H,所以AX=2412H(6) MOV AX ,[BX][SI]解:物理地址=D S×16+BX+SI=20000H+0100H+0002H=20102H,所以AX=7856H2.指出下列指令错误(1)MOV CX, DL 答:数据类型不匹配,CX 是16 位,DL 是8 位。
(2)MOV IP, AX 答:指令指针不能直接修改。
(3)MOV ES, 1234H 答:段地址寄存器不能直接置数。
(4)MOV ES, DS 答:段地址DS 不能做源操作数。
(5)MOV AL, 300答:300 大于255,AL 是8 位的,最多只能存255(6)MOV [SP], AX答:SP 不能做间接寻址寄存器。
(7)MOV AX , BX+DI 答:基址变址寻址必须打[] 。
(8)MOV 20H, AH 答:立即数不能做目的地址单元。
3.已知数字0~9 对应的格雷码依次为:18H、34H、05H、06H、09H、0AH 、0CH、11H、12H、14H,它存放在于以TABEL 为首地址(设为200H)的连续区域中。
对如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。
LEA BX ,TABLE ;取表的首地址送BX ,执行后(BX)=200H MOV AL ,8 ;立即数8送AL ,执行后,(AL)=8XLAT ;查表,将表首地址+8( (BX)+(AL) )所对应单元内容送AL, ;执行后,(AL)=12H (8所对应的格雷码)4.什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令? 答:堆栈是在内存中开的一个特殊的数据区,堆顶有堆栈指针 SP 与 SS 共同决定。
原则是:先进后出,两个操作:入栈、出栈,对应指令: PUSH (入栈 )、POP (出栈 )。
5.已知 SS=FFA0H ,SP=00B0H ,画图说明执行下列指令序列时,堆栈区和 SP 的内容如何 变化?MOV AX , 8075H PUSH AXMOV AX , 0F79H PUSH AX POP BX POP [BX]执行完 再执行完MOV AX , OF79H PUSH AX 指令后 SP=00ACHFFA0:0000 再执行完POP [BX] 指令后 SP=00B0H解:8.请分别用一条汇编语言指令完成如下功能:(1)把 BX 寄存器和 DX 寄存器的内容相加,结果存入 DX 寄存器。
解: ADD DX, BX(2)用寄存器 BX 和 SI 的基址变址寻址方式把存储器的一个字节与 AL 寄存器的内容相MOV AX , 8075H PUSH AX 指令后 SP=00AEHFFA0: 00AE SP → FFA0:00AF FFA0:00B079H 0FH57H 80H xxFFA0:00AE FFA0:00AFFFA0:00B0 SP →79H 0FH57H 80H xxFFA0:0000再执行完POP BX 指令后 SP=00AFH加,并把结果送AL 中。
解:ADD AL, [BX+SI] 或ADD AL, [BX][SI](3)用寄存器BX 和02BH 的寄存器相对寻址方式,把存储器的一个字和CX 寄存器的内容相加,并把结果送回存储器中。
解:ADD [BX+02BH] ,CX 或ADD 02BH [BX] ,CX(4)把数0A0H 与AL 寄存器内容相加,并把结果送AL 中。
解:ADD AL, 0A0H10.指出下列指令错误(1)XCHG [SI], 30H 答:立即数不能作为单元地址来保存数据,所以交换指令中的两个操作数必须是地址操作数。
(2)POP CS答:CS 不能作为寻址寄存器使用(3)SUB [SI], [DI] 答:算术运算指令中的两个操作数不能同时都在内存中(4)PUSH AH答:PUSH 指令中的操作数必须是16 位操作数,AH 是8 位(5)ADC AX, DS答:DS 不能做源操作数,(6)OUT DX, AH答:只能使用AL(当端口数据位是8 位)或AX (端口数据位是16 位)与端口交换数据(7)IN AL 3FCH答:端口地址大于255 时,必须有DX 寄存器间接寻址。
20.假设DS=2000H ,BX=1256H ,SI=528FH ,位移量TABLE=20A1H ,[232F7H]=3280H ,[264E5H]=2450H ,试问执行下列段内间接转移指令后,转移的目的地址是什么?(1)J MP BX(2)J MP TABLE[BX](3)J MP [BX][SI]解:(1)JMP BX,目标地址的偏移量在BX中,所以转移的目的地址是CS:1256H(也可以直接写成有效地址IP=1256H)。
(2)JMP TABLE[BX],目标地址的偏移量在存储器单元中,该存储器单元有效地址为(BX)+ TABLE 中,所对应的物理地址=DS× 16+(BX)+TABLE=20000H+1256H+20A1H=232F7H 该, 单元存放的内容为3280H,所以JMPT ABLE[BX] 转移的目的地址是CS:3280H(也可以直接写成有效地址IP=3280H)(3)JMP [BX][SI] 目标地址的偏移量在存储器单元中,该存储器单元有效地址为(BX)+ (SI)中,所对应的物理地址=DS× 16+(BX)+(SI)=20000H+1256H+528FH=264E5H, 该单元存放的内容为4500H,所以JMP TABLE[BX] 转移的目的地址是CS:4500H(可以直接写成有效地址IP=4500H)。