java程序设计实用教程 (第3版) 叶核亚 习题答案 所有答案1—12章
java2实用教程课后习题答案(第三版编程题)

3. 编写应用程序,求1!+2!+…+10!。
答:class Fact{public static void main(String args[]){int fact,sum=0;for(int i=1;i<=10;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=fact;}System.out.println("1到10的阶乘之和是:"+sum);}}4. 编写一个应用程序,求100以内的全部素数。
答:class Primes{ public static void main(String args[]){ int w=1;for(int i=2;i<=100;i++){ for(int j=2;j<i;j++){ w=i%j;if(w==0)break;}if(w!=0)System.out.println(i+"是素数");}}}5. 分别用do―while和for循环计算1+1/2!+1/3!+1/4!+…的前20项和。
答: ①for循环class Sum{public static void main(String args[]){int fact;double sum=0;for(int i=1;i<=20;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=1.0/fact;}System.out.println(sum);}}②do―while循环class Sum{public static void main(String args[]){int i=1;int fact;double sum=0;do{fact=1;int j=0;while(++j<=i)fact*=j;sum+=1.0/fact;}while(++i<=20);System.out.println(sum);}}6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。
JAVA程序设计实用教程 (第3版) 叶核亚 习题答案 所有答案1 12章

Java 源程序文件经编译后生成字节码文件,若是 application 应用程序,则将字节码文件 交由 Java 解释器解释执行,最后在 windows 操作系统上运行。若是 applet 应用程序,则将 字节码文件嵌入超文本文件并下载到 web 浏览器上,最后由 windows 操作系统中的 Java 虚 拟机运行。
int i=1,n=10,s=0; for(i=1,i<=n,i++);
s+=i; System.out.pointln(“Sum=1+……+”+n+”=”+s); 有错误,正确的如下
int i=1,n=10,s=0; for(i=1,i<=n,i++)
s+=i; System.out.pointln(“Sum=1+……+”+n+”=”+s);
8.作为一个软件开发人员,应该具备那些基础知识用以开发 windows 应用程序? 【答】略
第2章
1.标示符和关键字在定义和使用方面有何区别? 【答】定义方面:标示符是用户定义的、以字母开头的字母数字序列,关键字是由 Java 语 言定义的、具有特定含义的英文单词。
使用方面:标示符用于命名变量、常量、类、对象等元素,每一个关键字都有特定的含 义,不能被赋予别的含义。
11.输出以下数字的形式; (1) 0 0 0 0
011 1 012 2 012 3 〖解答〗采用二重循环的程序如下。
public class Phalanx {
public static void main(String args[]) {
JAVA程序设计实用教程课后习题简答(第3版)

类中成员有几种访问权限?分别使用什么关键字? 【答】Java 定义了三个表示权限的关键字(public、protected、private) 。类有 2 种访问权限 分别是:公有 public,缺省。类中成员有 4 种访问权限分别是:公有 public,可被所有类访 问;保护 protected,可被同一包及包外所有子类访问;缺省,可被当前包中所有类访问; 私 有 private,只能被当前类访问。 3-8 this 引用有什么作用?this 引用有几种使用方法? 【答】Java 类中成员方法与 C 语言中函数还有一个重要差别就是, Java 类中每个成员方法 都可以使用代词 this 引用调用该方法的当前对象自己,this 引用有以下 3 种用法: (1)this 用于指代调用成员方法的当前对象自身,语法格式如下: this (2) 通过 this 可以调用当前对象的成员变量, 调用当前对象的成员方法。 语法格式如下: this.成员变量 this.成员方法([参数列表])注意:Java 中的 this 是引用方式,不是 C++中的指针方式。 (3)this 引用还可以用在重载的构造方法中,调用本类已定义好的构造方法。语法格式 如下: this([参数列表])注意:在构造方法中,this()引用必须是第一行语句。 3-9 说明类成员与实例成员的区别。 【答】Java 的类中可以包括两种成员:实例成员和类成员。 实例成员是属于对象的, 实例成员包括实例成员变量和实例成员方法。 类成员是属于类 的,需要用关键字 static 标识,也称为静态成员。具体区别如下: 1.实例成员变量与类成员变量 (1) 两者声明时的差别。当一个类声明成员变量时,没有使用关键字 static 声明的为实 例成员变量,使用关键字 static 声明的为类成员变量。 (2) 两者存储结构的差别。当创建一个对象时,系统会为每一个对象的每一个实例成员 变量分配一个存储单元, 使得属于不同对象的实例成员变量有不同的值; 而为每一个类成员 变量只分配一个存储单元,使得所有对象公用一个类成员变量。 (3) 两者引用方式的差别。实例成员变量属于对象,必须通过对象访问;类成员变量属 于类,既可以通过对象,也可以通过类访问。 2.实例成员方法与类成员方法 (1) 两者声明时的差别。当一个类声明成员方法时,没有使用关键字 static 声明的为实 例成员方法,使用关键字 static 声明的为类成员方法。 (2) 两者方法体中语句的差别。类成员方法只能访问类成员变量;实例成员方法既可以 访问类成员变量,也可以访问实例成员变量。在实例成员方法体中,可以使用 this 引用指代 当前对象;而在类成员方法体中,则不能使用 this 引用。 (3) 两者引用方式的差别。实例成员方法必须通过对象访问;类成员方法既可以通过对 象,也可以通过类访问。 3-10 什么是继承?继承机制的作用是什么?子类继承了父类中的什么?子类不需要父类中 的成员时怎么办?能够删除它们吗?Java 允许一个类有多个父类吗? 【答】继承性是面向对象的核心特征之一,是一种由已有的类创建新类的机制。被继承的类 称为父类或超类, 通过继承产生的新类称为子类或派生类。 继承机制是面向对象程序设计中 实现软件可重用性的最重要手段。
Java程序设计实用教程习题答案

《Java程序设计精典教程》习题答案编著:胡伏湘,雷军环清华大学出版社第5章习题解答一、简答题1.什么是AWT?AWT的基本思想是什么?答:AWT(抽象窗口工具包)是一组应用程序接口(API),其中包括各种Java 程序员用来创建图形用户界面(GUI)的类,这些类分别对应着Java图形用户界面的构成成份:组件和容器。
组件通常为图形用户界面中的可见部分,例如按钮(button)和标签(label)等。
容器是图形用户界面中容纳其他组件的部分,一个容器中可以容纳一个或多个组件,甚至还可以容纳其他的容器。
AWT的基本思想是将图形用户界面(GUI)看作一系列嵌套的构件,最外层是窗口这样的容器,容器内又可以包含其他的组件和容器。
这样由表及里,所有的构件构成了一个嵌套的树,一个构件在这棵树中的位置决定了它显示在屏幕上的位置以及事件的传递途径。
2.容器主要有哪些作用?Java中有哪些常见的容器。
它们之间有什么异同?答:容器组件的主要作用是包容其他组件或容器并按一定的方式组织排列它们,同一个容器的所有构件通常总是同时被显示和同时被隐藏的。
Java中常见的容器有Frame(框架)、Panel(面板)和Applet框架Frame是一个带有边框的独立的窗口,可以移动、放大、缩小、关闭。
是独立于Applet和浏览器的一个窗口,是Application程序最外层的容器。
面板是包含在窗口中的一个不带边框的区域。
不是一个单独的窗口,它只是包含在窗口中的一个区域,是可以将许多组件组合起来的一种容器,必须将面板添加到窗体中才能正常显示出来。
Applet也是无边框的容器,是Applet程序最外层的容器。
3.布局管理器的作用是什么?Java提供了哪几种布局管理器?答:布局管理器用来控制组件在容器中的摆放位置。
Java提供了5种布局管理器,它们是:顺序布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)4.设计和实现图形用户界面的主要工作有哪些?答:设计和实现图形用户界面的工作主要有两个:一是创建组成界面的各种容器和组件,指定它们的属性和位置关系,根据具体需要排列它们,从而构成完整的图形用户界面的物理外观;二是定义图形用户界面的事件和各界面元素对不同事件的响应,从而实现图形用户与用户的交互功能。
Java实用教程(第三版)课后习题及答案

JAVA实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
java程序设计实训教程参考答案

Graduate student1 = new Graduate();
student1.setName("zhang3");
student1.setScore(0, 78);
student1.setScore(1, 92);
(4)初始化、终止以及迭代部分都可以为空语句(分号不能省),三者均为空的时候,相当于一个无限循环,如果循环体中不包括break等语句,也没有可捕获的异常,那么将成为一个死循环,这在一般的程序设计中是应该能避免的。
(5)可以在for语句的初始化部分声明一个变量,它的作用域为整个for语句。
(6)在初始化部分和迭代部分可以使用逗号语句来进行多个操作。逗号语句是用逗号分隔的语句序列。
5.×6.×7.×8.√
二、选择题
1. A、B2. B、C、D
3. A、B4. D
5. C6. C
7. A8. A
三、填空题
1.顺序结构、选择结构、循环结构
2. for语句、while语句和do-while语句
3. if语句、switch语句
四
1.任何复杂的程序均可由三种控制结构表示,这三种结构是:顺序结构、选择结构和循环结构。
System.exit(0);
}
Vector sum = new Vector(A.getDimension());
for (int i = 0; i < A.getDimension(); i ++){
sum.element[i] = A.element[i] + B.element[i];
}
return sum;
Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集Java语言程序设计是一门广泛应用于软件开发领域的编程语言,随着其应用范围的不断扩大,对于掌握Java编程技巧的需求也逐渐增加。
为了帮助读者更好地掌握Java编程,本文将提供Java语言程序设计课后习题的全集答案,供读者参考。
一、基础知识题1. 代码中的注释是什么作用?如何使用注释.答:注释在代码中是用来解释或者说明代码的功能或用途的语句,编译器在编译代码时会自动忽略注释。
在Java中,有三种注释的方式:- 单行注释:使用"// " 可以在代码的一行中加入注释。
- 多行注释:使用"/* */" 可以在多行中添加注释。
- 文档注释:使用"/** */" 可以添加方法或类的文档注释。
2. 什么是Java的数据类型?请列举常见的数据类型。
答:Java的数据类型用来指定变量的类型,常见的数据类型有:- 基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。
- 引用数据类型:包括类(class)、接口(interface)、数组(array)等。
二、代码编写题1. 编写Java程序,输入两个整数,求和并输出结果。
答:```javaimport java.util.Scanner;public class SumCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个整数:");int num1 = scanner.nextInt();System.out.print("请输入第二个整数:");int num2 = scanner.nextInt();int sum = num1 + num2;System.out.println("两个整数的和为:" + sum);}}```三、综合应用题1. 编写Java程序,实现学生信息管理系统,要求包括以下功能:- 添加学生信息(姓名、年龄、性别、学号等);- 修改学生信息;- 删除学生信息;- 查询学生信息。
JAVA实用教程(第三版)课后习题及答案

{
void g()
{
A a=new A(); a.weight=23f; a.f(3,4);
}}
答:a.weight=23f;错
1.编写一个类,该类创建的对象可以计算等差数列的和。解:classDengCha{
int start,d; DengCha(){
Case 4: System.out.printf(“%c”,’d’); Break;
}
}
输出:a,b, b,c,d,d
9.下列System.out.printf语句输出的结果是什么?
Char a[]={‘a’,’b’,’c’,’d’,’e’}; For(i=0; i<=a.length/2; i++)
答:不,只加载本程序用到的类到内存中,因为java程序是动态加载, 字节码类文件。
16.有哪几种访问权限修饰符?说出一种的作用。答:访问权限修饰符有public,private,protected.
Private作用是只允许本类的对象访问。
17.怎样反编译一个类?
答:使用SDK提供的反编译器javap.exe文件可以实现将字节码文件反编译为源码文件。可查看源码中public方法和public成员变量的名字。如加入参数-private则可列出其全部的成员方法和成员变量。
9.请阐述为什么类方法不能调用实例方法?
答:对于类方法在该类加到内存时就分配了相应的入口地址,所以即使该类未创建对象,也可以通过类名调用类方法。而这时在类对象创建之前,实例方法还没有入口地址。还不知道一个方法从何处开始执
行,当然不能调用。
10.请阐述,为什么类方法中不能操作实例成员变量?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位运算:~(非)、&(与)、|(或)、^(异或)、<<(左移位)、>>(右移位)、>>>(无符号移位)
5.程序中为什么需要常量和变量?声明常量或变量时,为什么必须给出其所属的数据类型?
{
for(int i=4;i<Goldbach.MAX;i+=2)
new Goldbach(i);
for(int i=7;i<Goldbach.MAX;i+=2)
new Goldbach(i);
}
}
程序运行结果如下:
All primes in 2~30 are:
2357111317192329
number=10
〖解答〗程序如下。
public class Goldbach
{
static final int MAX=30;//数据范围
static int[] prime=null;//存放素数的一维数组
static int number;//素数个数,即数组的实际元素个数
public Goldbach(int n)//输出n的哥德巴赫算式
System.out.println();
}
}
}
12.下列程序希望用for语句求出1~n累加和并显示,请问程序有错误吗?错在哪里?输出结果i和s的值分别是多少?
int i=1,n=10,s=0;
for(i=1,i<=n,i++);
s+=i;
System.out.pointln(“Sum=1+……+”+n+”=”+s);
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n-i;j++)//前导空格
System.out.print(" ");
for (int j=1;j<=i;j++)
System.out.print(" "+j);
for (int j=i-1;j>0;j--)
System.out.print(" "+j);
(3)判断ch是一个大写字母
(4)判断ch是一个英文字母,不论大写和小写
(5)如何将一个十进制的数字字符ch转换成对应的整数类型值
(6)如何将一个十六进制的数字字符ch转换成对应的整数类型值
9.说明for、while、和do-while三种循环语句的特点和区别?
While语句的特点:“先判断后执行”,当条件满足时执行循环体
int k=3;//从最小奇数开始测试,所有偶数不需测试
do
{
int j=0;
while ((j<number) && (k % prime[j]!=0))//用已知素数prime[j]测试k
j++;
if (j==number)//k是素数
{
prime[i]=k;//将k添加到数组prime中
i++;
Do-while语句的特点:“先执行后判断”,先执行循环体,再判断条件是否满足
For语句的特点:“先判断后执行”,但for语句将循环控制变量初始值、循环条件和变量的变化规律都以表达式形式写在循环体之前。
10.分别用for,while,do-while三种循环语句计算一个正数的阶乘
(1)for(i=1,i<=10,i++){
{
boolean yes=false;
int i=0;
while (!yes && i<=number && prime[i]<=k)
if (prime[i]==k)
yes=true;
else i++;
return yes;
}
public static void (prime==null)
init();
if (n%2==0)//偶数
{
int i=0;
while (i<number && prime[i]<=n/2)
{
if (isPrime(n-prime[i]))
System.out.print(n+"="+prime[i]+"+"+(n-prime[i])+" ");
第1章
1.Java具有那些适合在Internet环境中的特点?
【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。
2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?
【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。
4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?
【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的
C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开
7.设i是一个整数类型变量,写出下列问题对应的表达式?
(1)判断i为奇数或偶数;
【答】i%2==0 //取值为true时是偶数,否则是奇数
(2)判断i的值是否在0~9之间;
【答】(i>0)&&(i<9)
8.设ch是一个字符变量,写出下列问题对应的表达式
(1)判断ch是一个十进制的数字字符
(2)判断ch是一个十六进制的数字字符
int Sum=1;
Sum=Sum*i;}\\等价于Sum*=i;
(2)int i=1;
while(i<=10){
int Sum=1;
Sum=Sum*i;
i++;}
int i=Sum=1;
do{
Sum=Sum*i;
i++;}while(i<=10);
11.输出以下数字的形式;
(1)0000
0111
0122
5.什么是平台无关性?Java是怎样实现平台无关性的?
【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。
6.Java应用程序由哪两种形式?他们的运行方式有什么不同?
【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器显示运行。
4.算术运算、关系运算、逻辑运算和位运算各有哪些运算符?
【答】算术运算:单目运算符有+(正)、—(负)、++(自增)、——(自减),双目运算符有+(加)、—(减)、*(乘)、/(除)、%(取余)
关系运算:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)都是双目运算
i++;
}
}
else//奇数
{
int i=0;
while (i<number && prime[i]<=n/3)
{
int j=i;//如果j=0,则会出现重复的算式
while (j<number && prime[j]<=n/3)
{
if (isPrime(n-prime[i]-prime[j]))
System.out.print(n+"="+prime[i]+"+"+prime[j]+"+"+(n-prime[i]-prime[j])+" ");
7.什么是解释执行?Java怎样解释执行两种应用程序?
【答】解释执行即将字节码解释成本地机器码并执行。
Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。
偶数
4=2+2
6=3+3
8=3+5
10=3+7 10=5+5
12=5+7
14=3+11 14=7+7
16=3+13 16=5+11
0123
〖解答〗采用二重循环的程序如下。
public class Phalanx
{
public static void main(String args[])