精品文档java课后习题答案
Java基础入门_课后题答案_仅供参考
黑马面试题1:定义map集合,并自定义对象,对map集合遍历,打出key和value值【已完成】2:定义一个类A,类中定义一个show方法,打印一句话,在定义一个TestA类,利用反射在TestA中创建A的对象,并调用show方法3:使用高效字符缓冲流复制文件4:把C盘中的一个多层文件夹拷贝到D盘中。
用高效的方法(要求写思路,注释,代码)5:Integer泛型Map中存储字符串6:开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。
7:Map的两种遍历方式【已完成】8:如何用反射去创建一个对象,有2种方式,尽量用代码去体现9:编写一个程序,把这个目录里边的所有的带.java文件都拷贝到另一个目录里边,拷贝成功以后,把后缀名是.java改成.txt10:创建多线程的方式有几种?尽量用代码去体现11:编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。
【已完成】12:编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出【已完成】14:Collection集合下班有哪些类,哪些类又有哪些特点ListSet15: 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×100016:编写一个类,增加一个实例方法用于打印一条字符串。
并使用反射手段创建该类的对象,并调用该对象中的方法。
17:编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString18:复制多级文件夹19:写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。
java课后答案(整理)
2-2.Java语言的基本数据类型有哪些?引用数据类型有哪些?【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)2-14.作为引用数据类型,数组变量与基本数据类型的变量使用时有哪些区别?【答】数组变量与基本数据类型变量不同点在于,存储单元的分配方式不同,两个变量之间的赋值方式也不同。
基本数据类型变量获得存储单元的方式是静态的,声明了变量后系统就为变量分配了存储单元,就可以对变量赋值。
两个变量之间的赋值是值本身。
数组变量的引用赋值,数组变量保存的是数组的引用,即数组占用的一片连续存储空间的首地址及长度特性。
当声明一个数字变量而未申请空间时,变量是未初始化的,没有地址及特性值。
只有申请了存储空间,才能以下标表示数组元素。
3-1 什么是类?什么是对象?他们之间的关系是怎样的?【答】在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。
类中的数据称为成员变量,类中的数据操作称为成员方法。
类中的成员变量和成员方法统称为类的成员。
对象是类的实例。
对象与类的关系就像变量与数据类型的关系一样。
是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。
3-2 作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?【答】作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。
具体可参见课本第三章图3.1的(d)。
方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。
如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。
同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。
java第四版课后习题答案
java第四版课后习题答案Java第四版课后习题答案Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等特点。
对于学习Java的人来说,课后习题是巩固知识、提高编程能力的重要方式。
本文将为读者提供Java第四版课后习题的答案,帮助读者更好地理解和掌握Java编程。
一、基础知识1. 什么是Java虚拟机(JVM)?它的作用是什么?答:Java虚拟机(JVM)是Java程序运行的环境,它负责将Java源代码编译成字节码,并在不同的操作系统上运行。
JVM的作用是实现Java的跨平台特性,使得Java程序可以在不同的操作系统上运行。
2. Java中的八种基本数据类型是什么?答:Java中的八种基本数据类型分别是byte、short、int、long、float、double、char和boolean。
3. 什么是面向对象编程(OOP)?Java是一种面向对象的编程语言吗?答:面向对象编程(OOP)是一种编程范式,通过将数据和方法封装在对象中,以对象为中心进行程序设计和开发。
Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性。
二、控制流程1. Java中的条件语句有哪些?答:Java中的条件语句包括if语句、switch语句和三元运算符。
2. Java中的循环语句有哪些?答:Java中的循环语句包括for循环、while循环和do-while循环。
3. 如何在循环中使用break和continue语句?答:break语句用于立即终止循环,跳出循环体。
continue语句用于跳过当前循环的剩余代码,继续下一次循环。
三、数组和集合1. 如何声明和初始化一个一维数组?答:可以使用以下方式声明和初始化一个一维数组:```int[] array = new int[5]; //声明一个长度为5的整型数组int[] array = {1, 2, 3, 4, 5}; //声明并初始化一个整型数组```2. 如何声明和初始化一个二维数组?答:可以使用以下方式声明和初始化一个二维数组:```int[][] array = new int[3][2]; //声明一个3行2列的整型二维数组int[][] array = {{1, 2}, {3, 4}, {5, 6}}; //声明并初始化一个整型二维数组```3. Java中常用的集合类有哪些?答:Java中常用的集合类有ArrayList、LinkedList、HashSet、TreeSet、HashMap和TreeMap等。
JAVA课后习题答案
JAVA课后习题答案第⼀章Java语⾔概述2.“java编译器将源⽂件编译为的字节码⽂件是机器码”这句话正确吗?答:不正确3.java应⽤程序的主类必须含有怎样的⽅法?答:含有main⽅法4。
“java应⽤程序必须有⼀个类是public类”这句话正确吗?答;不正确,只能有⼀个public类5。
“java Applet程序的主类必须是public类”这句话正确吗?答:正确,因为java Applet主类必须是Applet类的⼦类并且是public的类6。
请叙述java源程序的命名规则。
答:与public的类同名。
7。
源⽂件⽣成的字节码⽂件在运⾏时都加载到内存中吗?答:⾮也,动态随需要运⾏才加载。
8.⾯向对象的程序设计语⾔有那些基本特征?答:封装;继承;多态性。
9.在Java程序中有多个类⽂件时,⽤Java命令应该运⾏那个类?答:具有main⽅法的类第⼆章基本数据类型和数组4。
下列哪些语句是错的?Int x=120;Byte b=120;b=x;答:B=x;错应为b=(byte)x5。
下列哪些语句是错的?答:y=d;错,应y=(float)d6。
下列两个语句是等价的吗?Char x=97;Char x=…a?;答:是等价的。
7。
下列system.out.printf语句输出结果是什么?Int a=97;Byte b1=(byte)128;Byte b2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);如果输出语句改为:System.out.printf(“%d,%d,%d”,a,b1,b2);输出什么?答:输出a ,-128,127修改后输出97,-128,1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。
可以通过:数组名.length的⽅法获得数组长度9。
假设有两个int类型数组:Int[] a=new int[10];Int[] b=new int[8];b=a;A[0]=100;B[0]的值⼀定是100吗?答;⼀定,因为a数组与b数组引⽤相同。
java课后习题及答案
java课后习题及答案Java课后习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其学习和掌握对于计算机专业的学生来说是非常重要的。
在学习过程中,课后习题是巩固知识、提高编程能力的重要环节。
本文将为大家提供一些常见的Java课后习题及其答案,希望能对大家的学习有所帮助。
一、基础习题1. 编写一个Java程序,输出"Hello, World!"。
```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并输出1到100之间的所有偶数的和。
```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;System.out.println("1到100之间的所有偶数的和为:" + sum); }}```3. 编写一个Java程序,判断一个整数是否是素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}}```二、进阶习题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。
Java实用教程课后习题章答案最终
习题一第1章一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件..2)使用javac编译源文件;得到字节码文件..3)使用解释器运行程序..3.由类所构成;应用程序必须有一个类含有public static void mainString args方法;含有该方法的类称为应用程序的主类..不一定;但最多有一个public类..4.Path设置为:以安装的版本为例..ClassPath设置为:set classpath=D:\jdk\jre\lib\rt.jar;.;5. .java和.class6. java Bird7.独行风格大括号独占行和行尾风格左大扩号在上一行行尾;右大括号独占行二、选择题1.B..2.D..三、阅读程序1.aPerson.java..b两个字节码;分别是Person.class和Xiti.class..c 得到“NoSuchMethodError”;得到“NoClassDefFoundError: Xiti/class”;得到“您好;很高兴认识您 nice to meet you”习题二第2章一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符..标识符由字母、下划线、美元符号和数字组成;第一个字符不能是数字..false不是标识符..2.关键字就是Java语言中已经被赋予特定意义的一些单词;不可以把关键字作为名字来用..不是关键字..class implements interface enum extends abstract..3.boolean;char;byte;short;int;long;float;double..4.float常量必须用F或f为后缀..double常量用D或d为后缀;但允许省略后缀..5.一维数组名.length..二维数组名.length..二、选择题1.C..2.ADF..3.B..4.BE..5.代码2代码3代码4代码5..6.B..三、阅读或调试程序1.低住佐佑佒体占何佖佗佘余佚佛作佝佞佟你佡佢2.答案是:234<468我输出结果后不回车我输出结果后自动回车到下一行x+y= 6663.属于操作题;解答略..4.代码1:4..代码2:b0=1..5.代码1:40..代码2:7四、编写程序1. public class E {public static void mainString args {你';我';他';}}2. public class E {public static void main String args { char cStart='α';cEnd='ω';forchar c=cStart;c<=cEnd;c++}}习题三第3章一、问答题1.boolean2.不可以3.boolean4. 不是必须的5.结束while语句的执行6.可以二、选择题1.A.. 2.C.. 3.C..三、阅读程序1.你;苹;甜2.Jeep好好3.x=-5;y=-1四、编程序题1.public class jiecheng {public static void mainString args { double sum=0;a=1;int i=1;whilei<=20 {sum=sum+a;i++;a=ai;}}}2.public class sushu {public static void mainString args { int i;j;forj=2;j<=100;j++ {fori=2;i<=j/2;i++ {ifj%i==0break;}ifi>j/2 {}}}}3.class qiuhe {public static void mainString args { double sum=0;a=1;i=1;do { sum=sum+a;i++;a=1.0/ia;}whilei<=20;使用do-while循环计算的sum="+sum;forsum=0;i=1;a=1;i<=20;i++ {a=a1.0/i;sum=sum+a;}使用for循环计算的sum="+sum;}}4.public class wanshu {public static void mainString args {int sum=0;i;j;fori=1;i<=1000;i++ {forj=1;sum=0;j<i;j++ {ifi%j==0sum=sum+j;}ifsum==i完数:"+i;}}}5.public class Xiti5 {public static void mainString args {int m=8;item=m;i=1;long sum=0;fori=1;sum=0;item=m;i<=10;i++ {sum=sum+item;item=item10+m;}}}6.public class Xiti6 {public static void mainString args { int n=1;long sum=0;whiletrue {sum=sum+n;n++;ifsum>=8888break;}满足条件的最大整数:"+n-1;}}习题四第4章一、问答题1. 封装、继承和多态..2.当类名由几个单词复合而成时;每个单词的首字母使用大写..3.名字的首单词的首字母使用小写;如果变量的名字由多个单词组成;从第2个单词开始的其它单词的首字母使用大写..4.属性5.行为6.用类创建对象时..没有类型7.用类创建对象时..8.一个类中可以有多个方法具有相同的名字;但这些方法的参数必须不同;即或者是参数的个数不同;或者是参数的类型不同..可以..9.可以..不可以..10.不可以..11.一个类通过使用new运算符可以创建多个不同的对象;不同的对象的实例变量将被分配不同的内存空间..所有对象的类变量都分配给相同的一处内存;对象共享类变量..12.代表调用当前方法的对象..不可以..二、选择题1.B..2.D..3.D..4.D..5.CD..6.代码1代码4..7.代码4..三、阅读程序1.代码1:1;代码2:121;代码3:121..2.sum=-100..3. 27..4.代码1:100;代码2:20.0..5.上机实习题目;解答略..6.上机实习题目;解答略..四、编程题CPU.javapublic class CPU {int speed;int getSpeed {return speed;}public void setSpeedint speed {this.speed = speed;}}HardDisk.javapublic class HardDisk {int amount;int getAmount {return amount;}public void setAmountint amount { this.amount = amount;}}PC.javapublic class PC {CPU cpu;HardDisk HD;void setCPUCPU cpu {this.cpu = cpu;}void setHardDiskHardDisk HD { this.HD = HD;}void show{速度:"+cpu.getSpeed;硬盘容量:"+HD.getAmount;}}Test.javapublic class Test {public static void mainString args {CPU cpu = new CPU;HardDisk HD=new HardDisk;cpu.setSpeed2200;HD.setAmount200;PC pc =new PC;pc.setCPUcpu;pc.setHardDiskHD;pc.show;}}习题五第5章一、问答题1.不可以..2.是..3.不继承..4.声明与父类同名的成员变量..5.子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型;重写的方法的名字、参数个数、参数的类型和父类的方法完全相同..重写方法的目的是隐藏继承的方法;子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为..6.不可以..7.Abstract类..8.上转型对象不能操作子类新增的成员变量;不能调用子类新增的方法..上转型对象可以访问子类继承或隐藏的成员变量;可以调用子类继承的方法或子类重写的实例方法..9.通过重写方法..10.面向抽象编程目的是为了应对用户需求的变化;核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责;从而让该类的设计者不去关心具体实现..二、选择题1.C..2.D..3.CD..4.D..5.B..6.B..7.D..8.B..9.A..三、阅读程序1.代码1:15.0..代码2:8.0..2.代码1:11..代码2:110..3.代码1:98.0..代码2:12..代码3:98.0..代码4:9..4.代码1:120..代码2:120..代码3:-100..四、编程题Animal.javapublic abstract class Animal {public abstract void cry;public abstract String getAnimalName;}Simulator.javapublic class Simulator {public void playSoundAnimal animal {现在播放"+animal.getAnimalName+"类的声音:";animal.cry;}}Dog.javapublic class Dog extends Animal {public void cry {汪汪...汪汪";}public String getAnimalName {return "狗";}}Cat.javapublic class Cat extends Animal {public void cry {喵喵...喵喵";}public String getAnimalName {return "猫";}}Application.javapublic class Example5_13 {public static void mainString args {Simulator simulator = new Simulator;simulator.playSoundnew Dog;simulator.playSoundnew Cat;}}习题六第6章一、问答题1.不能..2.不能..3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中..那么该接口变量就可以调用被类实现的接口中的方法..4.不可以..5.可以..二、选择题1.D..2.AB..3.A..三、阅读程序1.代码1:15.0..代码2:8..2.代码1:18..代码2:15..四、编程题Animal.javapublic interface Animal {public abstract void cry;public abstract String getAnimalName;}Simulator.javapublic class Simulator {public void playSoundAnimal animal {现在播放"+animal.getAnimalName+"类的声音:";animal.cry;}}Dog.javapublic class Dog implements Animal {public void cry {汪汪...汪汪";}public String getAnimalName {return "狗";}}Cat.javapublic class Cat implements Animal {public void cry {喵喵...喵喵";}public String getAnimalName {return "猫";}}Application.javapublic class Example5_13 {public static void mainString args {Simulator simulator = new Simulator;simulator.playSoundnew Dog;simulator.playSoundnew Cat;}}习题七第7章一、问答题1.有效..2.可以..3.不可以..4.一定是..二、选择题1.C..2.C..三、阅读程序1.大家好;祝工作顺利2.p是接口变量..3.你好 fine thanks..4.属于上机实习程序;解答略..四、编程题import java.util.;public class E {public static void main String args {Scanner reader = new ScannerSystem.in;double sum = 0;int m = 0;whilereader.hasNextDouble{double x = reader.nextDouble;assert x< 100:"数据不合理";m = m+1;sum = sum+x;}个数的和为%f\n";m;sum;个数的平均值是%f\n";m;sum/m;}}习题八第8章一、问答题1.不是.."\\hello"是..2.4不存在空格是4存在空格是5和3..3.false和true..4.负数..5.是true..6.3和-1..7.会发生NumberFormatException异`常..二、选择题1.A..2.B..3.B..4.D..5.C..三、阅读程序1.代码:苹果..2.代码:Love:Game..3.代码1:15..代码2:abc我们..4.代码:13579..5.代码:9javaHello..6.属于上机实习程序;解答略..7.属于上机实习程序;解答略..四、编程题1.public class E {public static void main String args { String s1;s2;t1="ABCDabcd";s1=t1.toUpperCase;s2=t1.toLowerCase;String s3=s1.concats2;}}2. public class E {public static void main String args {String s="ABCDabcd";char cStart=s.charAt0;char cEnd = s.charAts.length-1;}}3. import java.util.;public class E {public static void main String args {int year1;month1;day1;year2;month2;day2;try{ year1=Integer.parseIntargs0;month1=Integer.parseIntargs1;day1=Integer.parseIntargs2;year2=Integer.parseIntargs3;month2=Integer.parseIntargs4;day2=Integer.parseIntargs5;}catchNumberFormatException e{ year1=2012;month1=0;day1=1;year2=2018;month2=0;day2=1;}Calendar calendar=Calendar.getInstance;calendar.setyear1;month1-1;day1;long timeYear1=calendar.getTimeInMillis;calendar.setyear2;month2-1;day2;long timeYear2=calendar.getTimeInMillis;long 相隔天数=Math.abstimeYear1-timeYear2/1000606024;年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天";}}4. import java.util.;public class E {public static void main String args {double a=0;b=0;c=0;a=12;b=24;c=Math.asin0.56;c=Math.cos3.14;c=Math.exp1;c=Math.log8;}}5.public class E {public static void main String args {String str = "ab123you你是谁 ";String regex = "\\D+";str = str.replaceAllregex;"";}}6. import java.util.;public class E {public static void mainString args {String cost = "数学87分;物理76分;英语96分";Scanner scanner = new Scannercost;double sum=0;int count =0;whilescanner.hasNext{try{ double score = scanner.nextDouble;count++;sum = sum+score;}catchInputMismatchException exp{String t = scanner.next;}}总分:"+sum+"分";平均分:"+sum/count+"分"; }}。
java程序设计第二版课后答案
java程序设计第二版课后答案Java程序设计第二版课后答案涵盖了多个章节,每个章节都包含了不同的编程概念和练习题。
以下是一些常见章节的课后答案概要,以供参考:第1章:Java简介- 1.1 Java的起源和特点- 1.2 Java平台的组成- 1.3 Java开发环境的搭建第2章:基本语法- 2.1 数据类型- 2.2 变量声明- 2.3 运算符- 2.4 控制语句(if, switch, loop)第3章:控制流程- 3.1 条件语句(if-else, switch-case)- 3.2 循环语句(for, while, do-while)- 3.3 跳转语句(break, continue, return)第4章:数据结构- 4.1 数组的定义和使用- 4.2 字符串的处理- 4.3 集合框架简介第5章:面向对象编程- 5.1 类和对象- 5.2 构造方法- 5.3 继承- 5.4 封装和多态第6章:异常处理- 6.1 异常的概念- 6.2 异常的分类- 6.3 异常的处理方式(try-catch-finally)第7章:输入输出- 7.1 标准输入输出- 7.2 文件输入输出- 7.3 序列化第8章:Java集合框架- 8.1 集合的基本概念- 8.2 List接口及其实现- 8.3 Set接口及其实现- 8.4 Map接口及其实现第9章:泛型- 9.1 泛型的概念- 9.2 泛型的使用- 9.3 泛型的限制第10章:多线程- 10.1 线程的概念- 10.2 创建和启动线程- 10.3 线程的同步第11章:网络编程- 11.1 网络编程基础- 11.2 Socket编程- 11.3 URL和URLConnection第12章:图形用户界面- 12.1 AWT和Swing- 12.2 事件处理- 12.3 布局管理器第13章:Java数据库连接- 13.1 JDBC基础- 13.2 数据库连接和操作- 13.3 SQL语句的使用第14章:Java Web应用- 14.1 Servlet基础- 14.2 JSP技术- 14.3 MVC架构模式每个章节的课后答案通常包括理论问题和编程练习题的解答。
java语言程序设计.doc课后习题+答案
第一章课后习题1.编译Java程序的命令是什么?2.执行Java程序的命令是什么?3.Java应用程序和小程序的区别是什么?4.编写一个application ,实现在屏幕上打印自己名字的功能。
第一章课后习题答案1.编译Java程序的命令是什么?答案:javac 源文件名2.执行Java程序的命令是什么?java 主类名3.Java应用程序和小程序的区别是什么?Java application⏹由Java解释器独立运行字节码⏹由专门的命令行启动程序执行⏹程序中有定义了main()方法的主类Java applet⏹不能独立运行,字节码必须嵌入HTML文档⏹当浏览器调用含applet的Web页面时执行⏹程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。
class Test{public static void main(String[] args){System.out.println(“张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。
A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)’8’ b)53 c)8 d)564.Unicode是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类5.6+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7.java语言中,占用32位存储空间的是__________。
(完整word版)java面向对象程序设计课后习题答案联祥义
习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac。
exe)编译Java源程序,得到字节码文件.(3)使用Java解释器(java。
exe)运行Java程序3.Java的源文件是由若干个书写形式互相独立的类组成的。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.系统环境path D\jdk\bin;系统环境classpath D\jdk\jre\lib\rt。
jar;。
;5.B6.Java源文件的扩展名是.java。
Java字节码的扩展名是。
class。
7.D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class 和Xiti8。
class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread ”main” java。
lang.NoSuchMethodError: main 执行java xiti8得到的错误提示Exception in thread "main” java。
lang.NoClassDefFoundError:xiti8 (wrong name: Xiti8)执行java Xiti8。
class得到的错误提示Exception in thread ”main” ng.NoClassDefFoundError:Xiti8/class执行java Xiti8得到的输出结果I’m glad to meet you习题21.D2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F; 3.float型常量后面必须要有后缀“f"或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1=’你',ch2=’我',ch3='他';System.out.println(”\”"+ch1+"\”的位置:"+(int)ch1);System。
(完整版)JAVA编程思想(第四版)课后答案精选全文
最新精选全文完整版(可编辑修改)Java编程思想(第四版)习题答案第二章练习1:public class PrimitiveTest {static int i;static char c; 精选全文,可以编辑修改文字!public static void main(String[] args) {System.out.println("int = " + i);System.out.println("char = " + c);}}练习2:public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");}}练习3:public class ATNTest {public static void main(String[] args) {class ATypeName {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}A TypeName a = new ATypeName();a.i = 3;a.d = 2.71828;a.b = false;a.show();}}练习4:public class DataOnlyTest {public static void main(String[] args) {class DataOnly {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}DataOnly data = new DataOnly();data.i = 3;data.d = 2.71828;data.b = false;data.show();}}练习5:public class DOTest2 {public static void main(String[] args) {class DataOnly {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}DataOnly data = new DataOnly();data.i = 234;data.d = 2.1234545;data.b = true;data.show();}}练习6:public class StorageTest {public static void main(String[] args) {class StoreStuff {int storage(String s) {return s.length() * 2;}}StoreStuff x = new StoreStuff();System.out.println(x.storage("hi"));}}练习7:class StaticTest {static int i = 47;}class Incrementable {static void increment() { StaticTest.i++; }}public class ITest {public static void main(String[] args) {System.out.println("StaticTest.i= " + StaticTest.i);StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println("st1.i= " + st1.i);System.out.println("st2.i= " + st2.i);Incrementable sf = new Incrementable();sf.increment();System.out.println("After sf.increment() called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);}}练习8:class StaticTest {static int i = 47;}class Incrementable {static void increment() { StaticTest.i++; }}public class OneStaticTest {public static void main(String[] args) {System.out.println("StaticTest.i= " + StaticTest.i);StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println("st1.i= " + st1.i);System.out.println("st2.i= " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment() called: ");System.out.println("st2.i = " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);st1.i = 3;System.out.println("After st1.i = 3, ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);System.out.println("Create another StaticTest, st3.");StaticTest st3 = new StaticTest();System.out.println("st3.i = " + st3.i);}}练习9:public class AutoboxTest {public static void main(String[] args) {boolean b = false;char c = 'x';byte t = 8;short s = 16;int i = 32;long l = 64;float f = 0.32f;double d = 0.64;Boolean B = b;System.out.println("boolean b = " + b);System.out.println("Boolean B = " + B);Character C = c;System.out.println("char c = " + c);System.out.println("Character C = " + C);Byte T = t;System.out.println("byte t = " + t);System.out.println("Byte T = " + T);Short S = s;System.out.println("short s = " + s);System.out.println("Short S = " + S);Integer I = i;System.out.println("int i = " + i);System.out.println("Integer I = " + I);Long L = l;System.out.println("long l = " + l);System.out.println("Long L = " + L);Float F = f;System.out.println("Float F = " + F);Double D = d;System.out.println("double d = " + d);System.out.println("Double D = " + D);}}练习10:public class CommandArgTest {public static void main(String[] args) {int[]args1={1,2,3};System.out.println("args[0] = " + args1[0]);System.out.println("args[1] = " + args1[1]);System.out.println("args[2] = " + args1[2]);}}练习11:public class Rainbow {public static void main(String[] args) {AllTheColorsOfTheRainbow atc = new AllTheColorsOfTheRainbow();System.out.println("atc.anIntegerRepresentingColors = " + atc.anIntegerRepresentingColors);atc.changeColor(7);atc.changeTheHueOfTheColor(77);System.out.println("After color change, atc.anIntegerRepresentingColors = " + atc.anIntegerRepresentingColors);System.out.println("atc.hue = " + atc.hue);}}class AllTheColorsOfTheRainbow {int anIntegerRepresentingColors = 0;int hue = 0;void changeTheHueOfTheColor(int newHue) {hue = newHue;}int changeColor(int newColor) {return anIntegerRepresentingColors = newColor;}}练习12:public class DocTest {/** Entry poing to class & application.* @param args array of string arguments* @throws exceptions No exceptions thrown*/public static void main(String[] args) {System.out.println(new Date());}}练习13-1:public class Documentation1 {/** A field comment */public int i;/** A method comment */public void f() {}}2:public class Documentation2 {Date d = new Date();void showDate() {System.out.println("Date = " + d);}}3:public class Documentation3 {public static void main(String[] args) {Date d = new Date();System.out.println("d = " + d);}}练习14:public class Documentation4 {public int i = 2;private int j = 3;public static void main(String[] args) {Date d = new Date();System.out.println("d = " + d);}}练习15:public class HelloDocTest {public static void main(String[] args) {System.out.println("Hello World!");}}练习16:class Tree {int height;Tree() {System.out.println("Planting a seedling");height = 0;}Tree(int initialHeight) {height = initialHeight;System.out.println("Creating new tree that is " + height + " feet tall");}void info() {System.out.println("Tree is " + height + " feet tall");}void info(String s) {System.out.println(s + ": Tree is " + height + " feet tall");}}public class Overloading {public static void main(String[] args) {for(int i = 0; i < 5; i++) {Tree t = new Tree(i);();("overloading method");}// Overloaded constructor:new Tree();}}第三章练习1:public class PrintTest {public static void main(String[] args) {print("Hello, from short form.");P.rintln("Hello from greggordon form.");System.out.println("Hello from long form.");}}练习2:class Tube {float level;}public class Assign {public static void main(String[] args) {Tube t1 = new Tube();Tube t2 = new Tube();t1.level = 0.9f;t2.level = 0.47f;P.rintln("1: t1.level: " + t1.level + ", t2.level: " + t2.level);t1 = t2;P.rintln("2: t1.level: " + t1.level + ", t2.level: " + t2.level);t1.level = 0.27f;P.rintln("3: t1.level: " + t1.level + ", t2.level: " + t2.level);}}练习3:class Box {float a;}public class PassObject2 {static void f(Box y) {y.a = 2.71828f;}public static void main(String[] args) {Box x = new Box();x.a = 3.1416f;print("1: x.a = " + x.a);f(x);print("2: x.a = " + x.a);}}练习4:class VelocityCalculator {static float velocity (float d, float t) {if(t == 0) return 0f;else return d/t;}}public class VelocityTester {public static void main(String[] args) {float d = 565.3f;float t = 3.6f;System.out.println("Distance: " + d);System.out.println("Time: " + t);float v = VelocityCalculator.velocity(d, t);System.out.println("Velocity: " + v);}}练习5:class Dog {String name;String says;void setName(String n) {name = n;}void setSays(String s) {says = s;}void showName() {P.rintln(name);}void speak() {P.rintln(says);}}public class DogTest {public static void main(String[] args) {Dog spot = new Dog();spot.setName("Spot");spot.setSays("Ruff!");Dog scruffy = new Dog();scruffy.setName("Scruffy");scruffy.setSays("Wurf!");spot.showName();spot.speak();scruffy.showName();scruffy.speak();}}练习6:class Dog {String name;String says;void setName(String n) {name = n;}void setSays(String s) {says = s;}void showName() {P.rintln(name);}void speak() {P.rintln(says);}}public class DogCompare {public static void main(String[] args) {Dog spot = new Dog();spot.setName("Spot");spot.setSays("Ruff!");Dog scruffy = new Dog();scruffy.setName("Scruffy");scruffy.setSays("Wurf!");spot.showName();spot.speak();scruffy.showName();scruffy.speak();Dog butch = new Dog();butch.setName("Butch");butch.setSays("Hello!");butch.showName();butch.speak();P.rintln("Comparison: ");P.rintln("spot == butch: " + (spot == butch));P.rintln("spot.equals(butch): " + spot.equals(butch));P.rintln("butch.equals(spot): " + butch.equals(spot));P.rintln("Now assign: spot = butch");spot = butch;P.rintln("Compare again: ");P.rintln("spot == butch: " + (spot == butch));P.rintln("spot.equals(butch): " + spot.equals(butch));P.rintln("butch.equals(spot): " + butch.equals(spot));P.rintln("Spot: ");spot.showName();spot.speak();P.rintln("Butch: ");butch.showName();butch.speak();}}练习7:总之,在这一学年中,我不仅在业务能力上,还是在教育教学上都有了一定的提高。
java课后习题及答案
第一章JAV A语言概论一、选择题1.下列不属于java语言特点的是:BA.java能检查程序在变异和运行时的错误B.java能运行虚拟机实现跨平台C.java自己操纵内存减少了内存出错的可能性D.java还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是:CA.全编译型B.全解释型C.半编译和半解释型D.同脚本语言的解释模式3.下列关于虚拟机说法错误的是:BA.虚拟机可以用软件实现B.虚拟机部可以用硬件实现C.字节码是虚拟机的机器码D.虚拟机把代码程序与各操作系统和硬件分开4.java语言是1995年由()公司发布的AA.SunB.MicrosoftC.BorlandD.Fox Software5.下列不是虚拟机执行过程特点的是AA.双线程B.多线程C.动态链接D.异常处理6.java以JVM为基础,最下层是移植接口,由适配器和()组成BA.网卡B.Java osC.Java基本类D.Java应用程序和applet小程序7.java程序的执行过程中用到一套JDK工具,其中javac.exe指AA.java语言编译器B.java字节码解释器C.java文档生成器D.java类分解器8.java的API结构中,不属于类库主要包括的核心包的是CA.java包B.javaxC.javadoc包扩展包9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的AA.一个B.两个C.四个D.任意多个10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件AA.javaB.classC.docD.exe二、填空题1.1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个__oak__软件,它是java的前身。
2.java是一个网络编程语言,简单易学,利用了面向对象___的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。
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课后习题答案
java课后习题答案java课本课后习题答案第五章继承、接口与泛型1、子类在什么情况下可以继承父类的友好成员?答:父子类在同一包中时子类可以继承父类的友好成员。
2、子类通过什么办法,可以隐藏继承的成员变量。
答:子类成员变量与父类成员变量同名。
3、子类重写继承方法的规则是什么?答:重写隐藏父类的方法需:返回的数据类型相同,参数的个数相同,并且类型相同。
如果重写父类的方法后参数的个数或类型不同会出现子类方法的重载。
4.子类的构造方法的第一条语句是什么?答:如果需要调用父类构造方法,则应是用super关键词调用父类的构造方法。
5、子类一旦重写了继承的方法,就会隐藏继承的方法。
是这样吗?答:不一定。
在参数的个数或类型不同时会产生重载。
如果只有返回值的类型不同,将会产生编译错误。
(5)子类隐藏父类的方法,参数必须______相同并且__________相同.答:个数,类型6、子类重写继承方法时,可以降低方法的权限吗?答:重写继承方法时不能降低访问权限。
7、简述关键字super的用法。
答:1)子类调用父类的构造方法。
2)子类对象引用被隐藏了的父类方法,或成员变量。
8.假设父类有一个方法:Public double f(double x, double y){return x+y;}是否允许子类再声明如下的方法:Public float f(double x, double y){return 23;}答:不允许。
9、父类的final方法可以被子类重写吗?答:不可以10、什么类中可以有abstract方法?答:被abstract修饰的类。
接口中也可以有abstract方法11、什么叫做对象的上转型对象?答:用子类的构造方法构造出来的对象,赋值给父类对象。
12、什么叫接口回调?答:用实现接口的类创建的对象,赋值给该接口声明的接口变量。
13、与类有关的匿名类一定是该类的子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?答:一定,因为类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体。
java课后习题答案及部分作业答案
第一章Java概述一、选择题1、下面哪个是在Dos命令提示符下编译Java程序的命令?(A )A. javacB. javaC. javadocD. javaw2、以下哪些是Java程序中有效的注释符号?(ABC )A. //B. /* */C. /** */D. */ */3、以下哪个不是Java语言的特点?(B )A. 面向对象B. 自动检查语法错误C. 跨平台D. 解释执行4、Java编译器会将Java程序转换为(C )A. 可执行代码B. 目标代码C. 字节码D. 机器代码5、Java源文件的扩展名是(D )A. .classB. .jarC. .javD. .java二、简答题1、Java的跨平台的含义是什么?为什么Java可以跨平台?Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。
JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。
Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
java第四版课后习题答案
java第四版课后习题答案
Java第四版课后习题答案
在学习Java编程语言的过程中,课后习题是巩固知识、加深理解的重要环节。
本文将为大家提供Java第四版课后习题的答案,希望能够帮助大家更好地掌握Java编程语言。
第一章
1.1 什么是Java虚拟机?它的作用是什么?
Java虚拟机是Java程序的运行环境,它的作用是将Java字节码翻译成特定平台的机器码,从而实现跨平台的特性。
1.2 什么是Java应用程序?它的特点是什么?
Java应用程序是一种可以在Java虚拟机上运行的程序,它的特点是跨平台、面向对象、安全性高。
1.3 什么是Java开发工具包(JDK)?它包含哪些组件?
Java开发工具包是用于开发Java程序的工具集合,它包含Java编译器、Java 虚拟机、Java类库等组件。
第二章
2.1 什么是变量?Java中有哪些基本数据类型?
变量是用来存储数据的容器,Java中的基本数据类型包括整型、浮点型、字符型、布尔型。
2.2 什么是常量?Java中如何定义常量?
常量是不可改变的值,Java中可以使用关键字final来定义常量。
2.3 什么是运算符?Java中有哪些运算符?
运算符是用来进行数学运算或逻辑运算的符号,Java中包括算术运算符、关系运算符、逻辑运算符等。
通过对这些课后习题的答案的学习,相信大家对Java编程语言会有更深入的理解和掌握。
希望大家能够在学习的过程中不断积累知识,不断提升自己的编程能力。
java课后习题解答.doc
习题解答第一章作业题1.public class Hello{ public static void main (String args[ ]){System.out.pintln(u早上好,good Morning J;2.import java.applet.*;import java.awt. *;public class Boy extends Applet { public void paint(Graphics g){ g.setColor(Color.blue); g.drawString("你好,hello",12,30);}}第二章作业题public class ZuoYe2_l {public static void main (String args[ ]){char c-a1;System.out.println(H字母”+c+”在unicode 表中的顺序位置:n+(int)c);Systcm.out.printlnC'字母表:”);while(c<=,»,){System.out.print(n n+c);c=(char)(c+l);2.import java.util.*;public class ZuoYe2_2 {public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=l;int m=0;while(reader.hasNextInt()){int x=reader.nextlnt();m=m+l;chcngj i=chcngji*x;}System.out.println(m+"个数的乘积为"+chengj i);第三章作业题1.import java.util.*;public class ZuoYe3_l {public static void main (String args[ ]){Scanner rcadcr=ncw Scanncr(Systcm.in);double y=0,x=0;x=reade r.n extDouble();if(x<0)y=-l+2*x;else if(x==0)y二1;else if(x>0)y=-l+3*x;System.out.println(y);}}2.public class ZuoYe3_2 {public static void main(String args[]){int sum=0,m=3,n=7,a= 1; whilc(a<= 1000)(if(a%m=0&&a%n==0)sum=sum+a;a++;}3.public class ZuoYc3_3{ _public static void main(String args[]){long sum=0,a=8 Jtem=a,n= 10,i= 1;ft)r(i=l ;i<=n;i-H-){ sum=sum+itcm;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3 4{public static void main(String args[]){double sum=0,a= 1 ,b= 1 ,fuhao= 1 ,item=a/b; int i= 1;whilc(i<=1000){ sum=sum+fuhao* item; i++;fuhao=fuhao*(-l);b=b+2; item=a/b;}System.out.println(n sum-f+sum);5.public class ZuoYe3_5{public static void main(String args[]) {double sum=0,a=l;int i=l;while(i<=20){if(i>=10)sum=sum+a;i卄;a=a*i;}8.第四章作业题1.class DengCha{int start’d;DengCha(){}DengCha(int start,int d){ this.start=start; this.d=d;}void setStart(int s){ start=s;}void sctD(intd){ this.d=d;int getSum(int n){ int sum=03=l; whilc(i<=n){ sum=sum+start; start=start+d;汁+;return sum;}public class ZuoYe4_lpublic static void main (String args[])DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum( 100)); shulie.setStart(lO);shulie.setD(5);System.out.println(shulic.gctSum(9));2.class Letter{ public void printLetter(){for(char c=W;c<='z';c++)System.out.print(n”+c);public class ZuoYe4_2{public static void main (String args[]) {Letter p=ncw Lcttcr(); p.printLetter();3.class SquareEquation {double a,b;static double c;double rootl,root2;boolean boo;public SquareEquation(double a.double b,double c){this.a=a;this.b=b;SquarcEquation.c=c;if(a!=0){boo=true;}else{boo=falsc;}}public void getRoots(){if(boo){System.out.println(n是一元2 次方程”);double disk=b*b-4*a*c;if(disk>=0){root 1 =(-b+Math.sqrt(disk))/(2 *a); root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf(n方程的根:%f,%f\n H,root 1 ,root2);}else{System.out.printf(”方程没有实根\n”);}}clsc{System.out.println(M不是一元2 次方程”);}}public void setCoefficient(double a,double b,double c){ this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;clsc{boo=false;public class ZuoYe4_3 {public static void main(String args[ ]){SquarcEquation equationl=ncw SquarcEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5r7); equation LgetRoots();equation2.getRoots();4.import java.util.Scanner;class A {int f(int m,int n){if(m*n<0){ Systcm.out.println(n有负数,程序退出”);System.exit(O);if(m<n){ int tcmp=m;m=n; n=temp;int a=m,b=n; int r=m%n; whilc(r!=0) { m=n;n=r; r=m%n;}return n;} class B{A a;B(){a=ncw A();int g(int m.int n){int tcmp=a.f{m,n);return m*n/temp;}}public class ZuoYc4_4{public static void main (String args[]){Scanner reader=new Scanner(System.in);Systcm.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数J;System.out.print(n输入第一个整数:”);int m=reader.nextlnt();System.out.print("输入第二个整数:”);int n=reader.nextlnt();A a=nevv A();B b=ncw B();System.out.println(m+”和”+n+” 的最大公约数是”+a.f(m,n));System.out.println(m+n和”+n+” 的最小公倍数是”+b.g(m,n));}}5.import java.applet. Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button(“我是一个红色的按钮”);rcdbutton.sctBackground(Colo 匚red);redbutton.setForeground(Color. white);add(redbutton);第五章作业题import java.util.Scanner;class Apublic int f^int m,int n) {if(m<n)int temp=m; m=n; n=tcmp;}int r=m%n;while(r!=0){m=n;n=r; r=m%n;return n;}class B extends Apublic int m,int n){int division=super.f(m,n); return (m*n)/division;public class ZuoYc5_lpublic static void main (String args[]) {A a=new A();B b=ncw B();Scanner reader=new Scanner(System.in);Systcm.out.println(n输入2个整数,程序计算出它们的最大公约数和最小公倍数”);System.out.print(H输入第一个整数:”);int m=rcadcr.nextlntO;System.out.print(n输入第二个整数:”);int n=readei*.nextlnt();if(m*n<0){ Systcm.out.println(n有负数,程序退出");System.exit(O);}System.out.printf(*'%d 和%<1 的最大公约数是%d\n M,m,n,a.f(m,n));System.out.printf(M%d 和%<1 的最小公倍数是%d\n”,m,n,b.f(m,n));}}2.abstract class A {public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class Al extends A{public void f(int x){System.out.println(x);}public void g(int x.int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A {public void f(int x){System.out.println(n Hello:n+x);}public void g(int x,int y){int z=x-y;System.out.println(z);public double h(double x){ return Math.sqrt(x);}}class A3 extends A {public void f(int x){System, out. printing 你好:”+x);}public void g(int x.int y){ double z=(double)x/y; System.out.println(z);}public double h(double x){ return 1/x;}}public class ZuoYc5_2 {public static void main(String args[ ]){ Aa=new Al();a.f(10);a.g(12,20);System.out.println(a.h( 100)); a=new A2();a.f(10);a.g( 12,20);Systcm.out.println(a.h( 100)); a=new A3();a.f(10);a.g( 12,20);System.out.println(a.h( 100));}}3.interface A{public abstract void Rint x);public abstract void g(int x,int y); public abstract double h(doublc x); class Al implements A{ public void f(int x){Systcm.out.println(x);}public void g(int x.int y){int z=x+y;System.out.println(z);}public double h(double x){ return x*x;}}class A2 implements A { public void f(int x){System.out.println(n Hello:n+x); } public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A { public void f(int x){Systcm.out.println (” 你好:”+x); } public void g(int xjnt y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;public class ZuoYe5_3 {public static void main(String args[ ]){Aa=new Al();a.f(10);a.g(12,20);System.out.println(a.h( 100)); a=new A2();a.f(10);a.g( 12,20);Systcm.out.println(a.h( 100)); a=new A3();a.f(10);a.g( 12,20);System.out.println(a.h( 100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x);}class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]) { A a=new A();a.ffnevv Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x) { return Math.sqrt(x);i};double m=ss.getSqrt(5);System.out.println(m);5.class IntegerException extends Exception{ String message;IntegerException(int m){ message^” 年龄”+m+”不合理”;}public String toString(){ return message;}}class People{ private int age=l;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛11!界常,导致方法结束elsethis.age=age;}public int getAge(){ System.out・println(”年龄”+age+”合理”);return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People。
Java第2版-习题参考答案
习题参考答案——Java程序设计实用教程(第2版)第1章绪论1.1 (1)简单性——Java对系统软、硬件要求低;也比较容易学习。
(2)面向对象——Java是纯面向对象的语言。
(3)分布性——Java是面向网络的语言;支持数据分布和操作分布。
(4)鲁棒性——说明Java的健壮性很好,不会轻易造成系统崩溃。
(5)安全性——在防止非法入侵方面表现突出。
(6)体系结构中立——可以在任意的处理器上运行,也可在不同的平台上运行。
(7)可移植性——采用Java虚拟机机制,体现Java最初的开发理念,可跨平台运行。
(8)解释型——Java解释器直接对Java字节码进行解释执行,在单机上运行时速度较慢。
(9)高性能——由于Java字节码的设计,使得它能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。
用Java编写的程序在网络上运行时,其运行速度快。
(10)多线程——在Java中内置了对多线程的支持,使用多线程机制提高了程序性能,可以充分利用CPU。
(11)动态性——Java自身的设计使得它更适合于不断发展的环境,在Java类库中可以自由地加入新的方法和实例变量,而不会影响用户应用程序的执行。
1.2 Java在语法中取消了C/C++中具有的不安全的特性,如取消了指针,使得非法访问被杜绝。
用户不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。
1.3 主要是由于Java程序可以方便地被移植到网络上的不同机器。
另外,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。
1.4 对象是类的特例。
1.5 略。
1.6 略。
第2章绪论2.1 略。
2.2 略。
2.3 进行SET PA TH设置是为了让系统找到Java.exe、Javac.exe在什么文件夹中;SET CLASSPA TH设置的作用是查找类路径变量的。
2.4 Java程序被分为两类,一类是Java Application程序,另一类是Java Applet程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章(1) 超级链接标记<a>的target属性值为___ blank _________,其可以使浏览器在新的窗口中打开链接。
(2) 使用__框架__________可以将浏览器窗口划分为若干个独立的子窗口(区域),使网页中不同的内容在不同的区域中显示。
(3) <font>标记用来改变网页中_____文字设置_____________。
(1) 定义HTML文件主体部分的标记对是(B)。
A.<title>…</title> B.<body>…</body>C.<head>…</head> D.<html>…</html>(2) (C)标记表示网页中一个段落的开始。
A.<br> B.<hr> C.<p> D.<b>(3) 当浏览器不支持图像时,图像<img>标记的(C)值可以替代图像。
A.align属性B.height属性C.alt属性D.border属性(4) 在文本属性面板上,颜色设置通常是以(C)来表示颜色值,但也可用英文单词表示。
A.八进制数B.十六进制数C.十进制数D.二进制数(5) 输入一个网址后,浏览器会自动在前面加上“http://”。
http的意思是(B)。
A.文件传输协议B.超文本传输协议C.顶级域名网址D.以上都不是3.判断题(1) <font>的face属性用于设置文本的字形。
(正确)(2) 网页是用http语言编写而成的。
(错误)(3) 所有的HTML标记符都包括开始标记符和结束标记符。
(错误)(4) 用H1标记符修饰的文字通常比用H6标记符修饰的文字要小。
(错误)第二章1.填空题(1) 在程序开发过程中,用户输入内容的校验常分为功能性校验和___格式性校验______________。
(2) JavaScript有以下主要特点:解释性、简单性、__基于对象______________、___事件驱动_____________、动态性和安全性。
(3) 程序出错类型分为____语法错误_____________和____逻辑错误_____________两种。
2.选择题(1) 以下哪个选项是JavaScript技术特征?(D)A.解释型脚本语言B.跨平台C.基于对象和事件驱动D.具有以上各种功能(2) 编辑JavaScript程序时,(C)。
A.只能使用记事本B.只能使用FrontPage编辑软件C.可以使用任何一种文本编辑器D.只能使用Dreamweaver编辑工具(3) 对于不支持JavaScript程序的浏览器,使用下面哪种标记会把编写的JavaScript脚本作为注释处理?(A)A.<!-- -->标记B.' 标记C.// 标记D./* */标记(4) 下面哪种JavaScript语法格式是正确的?(D)A.echo "I enjoy JavaScript" B.document.write( I enjoy JavaScript)C.response.write("I enjoy JavaScript ") D.alert("I enjoy JavaScript ")3.判断题(1) 在调用外部的JavaScript文件时,<script src="a.js"></script>这种写法是正确的。
(正确)(2) 如果将JavaScript脚本存储在单独的文件中,那么在IE浏览器中,选择【查看】|【源文件】菜单命令,查看源文件时会显示JavaScript程序源代码。
(错误)(3) JavaScript脚本不区分字母大小写。
(错误)4.操作题(1) 使用熟悉的工具编写JavaScript程序:利用document.write方法在网页上直接输出一段文字“你好!世界欢迎你!”。
(1)<script>document.write("你好!世界欢迎你!");</script>(2) 使用外部脚本编写JavaScript程序:利用window.alert弹出确认框“你好!世界欢迎你!”。
(2)<script src="2.4-2.js"></script>window.alert("你好!世界欢迎你!");第三章1.填空题(1) 在JavaScript中,声明变量用关键字___ var ________;声明常量用关键字___ const _______。
(2) 在JavaScript中,有__3_____种循环形式,分别是___ do…while循环___________、____ while循环____________、____ for循环____________。
(3) 表达式"123"+456的计算结果是____123456______________。
2.选择题(1) 以下变量名,哪个符合命名规则?(B)A.with B._abc C.a&bc D.1abc(2) 在JavaScript中,this的含义是什么?(A)A.当前对象B.当前脚本C.空对象D.没有意义(3) 在JavaScript中,有关函数的说法错误的是(C)。
A.函数是独立主程序,具有特定功能的一段代码块B.函数的命名规则和变量名相同C.函数必须使用return语句D.函数的调用时直接用函数名,并给形参赋值3.判断题(1) 在JavaScript中,变量使用前必须先定义。
(×)(2) 在JavaScript中,变量名不区分大小写。
(×)(3) break和continue都用来改变控制循环,区别是break结束本次循环,continue退出循环。
(×)(4) 异常处理语句中,无论是否发生异常,finally语句都将被执行。
(√)第四章1.填空题(1) 在JavaScript中,根据对象的作用范围,可分为内置对象和宿主对象。
(2) 定义构造函数所使用的语句是function( ) 。
(3) 数组元素是通过下标来引用的,下标的编号从0 开始,最大编号为数组长度+1 。
2.选择题(1) 创建对象使用的关键字是(C)。
A. WriteB. FunctionC. NewD. Var(2) 在JavaScript中,用来检索字符串的方法是(D)。
A. match( )B. search( )C. replace( )D. indexOf( )(3) 以下(A)不是JavaScript中的内置对象。
A. location对象B. Object对象C. Date对象D. Number对象(4) var str=“King of the world”;document.write(“字符串中第8到3个字符为:”+str.substring(8,2)+”<br>”);显示结果是(B)。
A. t fo gnB. ng of tC. King to the worldD.无显示结果3.判断题(1) JavaScript中允许两个日期对象相减,相减之后将会返回这两个日期之间的秒数差。
(错误)(2) Math对象的random( )方法能返回一个0~1之间的随机数。
(正确)(3) Array对象的splice( )方法可以用来为数组添加元素,也可以用来删除数组的元素。
(正确)第五章1. 填空题(1) 事件一般是指鼠标和键盘的动作。
(2) 对事件进行处理的程序或函数,称为事件处理程序。
(3) onKeyUp=“checkText( );”,这句语句是在松开按下的键动作时检查文本。
2.选择题(1) 以下(A)不是一个编辑事件。
A. FinishB. PasteC. SelectD. DragOver(2) 事件处理程序的返回值都为(C)。
A. 字符串B. 数值C. 布尔值D. 对象(3) 当元素失去焦点并且元素的内容发生改变时触发(C)事件。
A. SubmitB. BlurC. ChangeD. Focus(4) 在使用事件处理程序对页面进行操作时,最主要的是如何通过对象的事件来指定事件处理程序,其指定方式主要有( D )。
A. 直接在HTML标记中指定B. 在JavaScript中说明C. 指定特定对象的特定事件D. 以上3种方法皆可3.判断题(1) 当前元素失去焦点并且元素的内容发生改变时触发的是Change事件。
(正确)(2) 一个对象只能产生一个事件。
(错误)(3) 要触发针对网页或页面元素的事件,该事件必须是与该类元素相关的。
(正确)第六章1.填空题(1) 在DOM对象模型中,history 和document对象位于DOM对象模型的第___二______层。
(2) 在HTML文档对象模型中,history对象的方法__ forward()或go(1)_______________用于加载历史列表中的下一个URL页面。
(3) 在JavaScript中,要改变页面文档的背景色,需要修改document对象的____ bgColor ______属性。
(4) 在JavaScript浏览器对象模型中,window对象的____ status_____________属性用来指定浏览器状态栏中显示的临时消息。
(5) 用HTML代码表示“返回”链接能够正确实现IE浏览器工具栏中【后退】按钮的功能的代码为__<a href=”javascript:history.go(-1)”>返回</a> 或<a href=”javascript:history.back()”>返回</a>________________________________。
2.选择题(1) (A)发生于装载网页后,(B)发生于离开网页前。
A.onLoad事件B.onUnLoad事件C.onSubmit事件D.onReset事件(2) 下列(C)不是document对象的属性。
A.forms B.links C.location D.images(3) 获取页面中超链接的数量的方法是(A)。
A.document.links.length B.document.lengthC.document.links[1].length D.document.links[0].length(4) 某网页中有一个窗体对象mainForm,该窗体对象的第一个元素是文本框username,表述该按钮对象的方法是(B)。