Java2实用教程习题答案 第三版 清华大学出版社
JAVA大学实用教程(第3版)课后习题答案.doc
第一章Java语言概述2."java编译器将源文件编译为的字节码文件是机器码”这句话正确吗?答:不正确3.java l)y.用程序的主类必须含有怎样的方法?答:含有main方法4.“java应用程序必须有一个类是public类”这句话止确吗?答;不止确,只能冇一个public类5.请叙述java源程序的命名规则。
答:与public的类同名。
6.源文件生成的字节码文件在运行时都加载到内存中吗?答:非也,动态随需要运行才加载。
第二章基本数据类型和数组4.下列哪些语句是错的?int x=120;byte =120;b=x:答:b=x;错应为b= (byte) x5•下列哪些语句是错的?答:y=d;错,应y= (float) d6.下列两个语句是等价的吗?char x=97;char x='a';答:是等价的。
7.下列systcm.out.printf语句输出结果是什么?int a=97;byte bl=(byte)128;byte b2=(byte)(-129);System.out.printf(u%c,%d,%d,,,a,b 1 ,b2);答:输出a ,・128, 1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。
可以通过:数组名.length的方法获得数组长度9.假设有两个int类型数纽:int[] a=new int[10];int[] b=ncw int[8];b=a;A[0]=100;B[0]的值一•定是100吗?答;一定,因为a数组与b数组引用相同。
10.下列两个语旬的作用等价吗?int[] a={l, 2, 3, 4, 5, 6, 7, 8};int[] a=new int[8];答:不等价,前者有初值,后者只分配空间。
初值数组元索为0第二章作业题1.public class ZuoYe2 1 {public static void main (String args[ ]){ char c-a*;System.out.println(”字母"+c+"在unicode 表中的顺序位置:”+(int)c);System.out.println(M字母表:”);while(c<-«,){System.out.print(" ”+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 chcngji=l;int m=0;while(reader.hasNextlnt()){int x=reade r.n extlnt();m=m+l;chcngji=chcngji*x;}System.out.println(m+,f个数的乘积为,f+chengj i);第三章运算符、表达式与语句1•下列语句输出的结果是什么?int a=100, x,y;x=++a;y=a—System.out.printf(4<%d, %d,%d”,x,y,a);答:101, 101, 1002.下列语句那些冇错误?int x=0;x=5.0/2;float y=12.5F;y=5.0/2;答:x=5.0/2;错。
Java 2实用教程(第三版)实验指导与习题解答
Java 2实用教程(第三版)实验指导与习题解答清华大学出版社(编著耿祥义张跃平)实验模版代码及答案建议使用文档结构图(选择Word菜单→视图→文档结构图)上机实践1 初识JA V A (4)实验1一个简单的应用程序 (4)实验2一个简单的J A V A A PPLET程序 (4)实验3联合编译 (5)上机实践2 基本数据类型与控制语句 (6)实验1输出希腊字母表 (6)实验2回文数 (7)实验3猜数字游戏 (9)上机实践3 类与对象 (10)实验1三角形、梯形和圆形的类封装 (10)实验2实例成员与类成员 (13)实验3使用PACKAGE语句与IMPORT语句 (15)上机实践4 继承与接口 (17)实验1继承 (17)实验2上转型对象 (20)实验3接口回调 (22)上机实践5 字符串、时间与数字 (24)实验1S TRING类的常用方法 (24)实验2比较日期的大小 (25)实验3处理大整数 (26)上机实践6 组件及事件处理 (27)实验1算术测试 (27)实验2信号灯 (30)实验3布局与日历 (32)上机实践7 组件及事件处理2 (36)实验1方程求根 (36)实验2字体对话框 (39)实验3英语单词拼写训练 (42)上机实践8 多线程 (46)实验1汉字打字练习 (46)实验2旋转的行星 (48)实验3双线程接力 (52)上机实践9 输入输出流 (55)实验1学读汉字 (55)实验2统计英文单词字 (58)实验2读取Z IP文件 (62)上机实践10 JAV A 中的网络编程 (63)实验1读取服务器端文件 (63)实验2使用套接字读取服务器端对象 (65)实验3基于UDP的图像传输 (68)上机实践11 数据结构 (72)实验1扫雷小游戏 (72)实验2排序与查找 (77)实验3使用T REE S ET排序 (78)上机实践12 JAV A SWING (80)实验1JL AYERED P ANE分层窗格 (80)实验2使用表格显示日历 (81)实验3多文档界面(MDI) (84)上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println("你好,很高兴学习Java") ;【代码2】:System.out.println("We are students") ;2.模板代码Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString("这是一个Java Applet 程序",10,30);【代码2】:g.drawString("我改变了字体",20,50);2.模板代码FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}实验3 联合编译1.答案:【代码1】:System.out.println("你好,只需编译我");【代码2】:System.out.println("I am A");【代码3】:System.out.println("I am B");【代码4】:System.out.println("I am C");2.模板代码模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}上机实践2 基本数据类型与控制语句实验1 输出希腊字母表1.答案:【代码1】:startPosition=(int)cStart;【代码2】:endPosition=(int)cEnd ;【代码3】:c=(char)i;2.模板代码GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}实验2 回文数1.答案:【代码1】:number<=99999&&number>=1【代码2】:d5=number/10000;【代码3】:d4=number%10000/1000;【代码4】:d3=number%1000/100;【代码5】:d5!=0【代码6】:d1==d5&&d2==d4【代码7】:d4!=0【代码8】:d1==d4&&d2==d3【代码9】:d3!=0【代码10】:d1==d32.模板代码Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");number=Integer.parseInt(str);if(【代码1】) //判断number在1至99999之间的条件{【代码2】//计算number的最高位(万位)d5【代码3】//计算number的千位d4【代码4】//计算number的百位d3d2=number%100/10;d1=number%10;if(【代码5】) //判断number是5位数的条件{System.out.println(number+"是5位数");if(【代码6】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码7】) //判断number是4位数的条件{System.out.println(number+"是4位数");if(【代码8】) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码9】) //判断number是3位数的条件{System.out.println(number+"是3位数");if(【代码10】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}实验3 猜数字游戏1.答案:【代码1】:yourGuess!=realNumber【代码2】:yourGuess>realNumber【代码3】:yourGuess<realNumber2.模板代码GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(【代码1】) //循环条件{if(【代码2】) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}else if(【代码3】) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}上机实践3 类与对象实验1 三角形、梯形和圆形的类封装1.答案:【代码1】:sideA=a;sideB=b;sideC=c;【代码2】:a+b>c&&a+c>b&&c+b>a【代码3】:boo=true;【代码4】:boo=false;【代码5】:if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}【代码6】:sideA=a;sideB=b;sideC=c;【代码7】:a+b>c&&a+c>b&&c+b>a【代码8】:boo=true;【代码9】:boo=false;【代码10】:above=a;bottom=b;height=h;【代码11】:area=(above+bottom)/2*height;return area;【代码12】:radius=r;【代码13】:return 3.14*radius*radius;【代码14】:return 3.14*2*radius;【代码15】:circle=new Circle(10);【代码16】:trangle=new Trangle(3,4,5);【代码17】:lader=new Lader(3,4,10);【代码18】:length=circle.getLength();【代码19】:area=circle.getArea();【代码20】:length=trangle.getLength();【代码21】:area=trangle.getArea();【代码22】:area=lader.getArea();【代码23】:trangle.setABC(12,34,1);【代码24】:area=trangle.getArea();【代码25】:length=trangle.getLength();2.模板代码AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。
Java2实用教程课后答案-第三版-耿祥义-张跃平版
Java2实用教程(第三版)课后习题参考答案第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>存放在另一个目录中。
Java2实用教程习题答案__第三版__耿祥义_清华大学出版社
Java2实用教程(第三版)课后习题参考答案第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>存放在另一个目录中。
java2实用教程课后习题答案(第三版读程序题)
读程序题第二章4. 下列哪些语句是错误的:int x = 8;byte b = 127;b = x;答:b=x语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。
5. 下列程序的输出结果是什么?public class E{public static void main(String args[]){long[] a={1,2,3,4};long[] b={100,200,300,400,500};b=a;System.out.println("数组b的长度:"+b.length);System.out.println("b[0]="+b[0]);}}答: 数组b的长度:4b[0]=16. 上机运行下列程序,注意观察输出结果。
public class E{public static void main(String args[]){for(int i=20302;i<20322;i++){System.out.println((char)i);}}}答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡7. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。
上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。
public class OutputData{public static void main(String args[]){int x=234,y=432;System.out.println(x+"<"+(2*x));System.out.print("我输出结果后不回车");System.out.println("我输出结果后自动回车到下一行");System.out.println("x+y= "+(x+y));System.out.println(" "+x+y+"=");}}答: 234<468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666=第三章1. 下列程序的输出结果是什么?public class E{public static void main(String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}答: 你爱她2. 下列程序的输出结果是什么?public class E3{public static void main(String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1:c='b';System.out.print(c);case 2:c='e';System.out.print(c);break;case 3:c='p';System.out.print(c);default:System.out.print("!");}}}}答:beep!!12.下列程序有什么错误?public class Takecare{int a=90;static float b=10.98f;public static void main(String args[]){float c=a+b;System.out.println("c="+c);}}答: 语句float c=a+b;错误。
耿祥义_Java2实用教程(第3版)课后答案
第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 2实用教程(第三版)实验1
由于Hello.java中的class A类与A.java出现编译冲突,所以出现编译问题。后来将Hello.java中的clss A改为class D可以正常编译出所有。
上机实践
学号:ap0910228姓名:温志成成绩:
实验
备注
实验效果评价
1、简述实验模板完成情况
实验后练习效果评价
练习(1)完成的情况
练习(2)完成的情况
练习(3)完成的情况
练习(4)完成的情况
实验
备注
实验效果评价
1、简述实验模板完成情况
实验后练习效果评价
练习(1)完成的情况
程序中的主类不用public修饰,编译能通过
练习(2)完成的情况
程序中的主类不用public修饰,程序不能正确运行
练习(3)完成的情况
程序将paint方法误写成Paint,编译能方法误写成Paint,运行时不能看到有关信息
实验
备注
实验效果评价
1、简述实验模板完成情况
实验后练习效果评价
练习(1)完成的情况
Java 2 实用教程(第三版)实验指导与习题解答
public static void main (String args[ ]) { 【代码 1】 //命令行窗口输出"你好,很高兴学习 Java" A a=new A(); //通过创建 A 的对象来调用 A
a.fA();
}
} class A { //第二个类
//命令行窗口输出"I am C"
}
上机实践 2 基本数据类型与控制语句
实验 1 输出希腊字母表
1.答案:
【代码 1】: startPosition=(int)cStart; 【代码 2】: endPosition=(int)cEnd ; 【代码 3】: c=(char)i;
}
模板 2 :A.java
public class A{ void fA(){ 【代码 3】 }
}
//命令行窗口输出"I am A"
4
模板 3 :B.java
public class B{ void fB(){ 【代码 4】 }
}
//命令行窗口输出"I am B"
模板 4 :C.java
public class C{ void fC() { 【代码 5】 }
上机实践 2 基本数据类型与控制语句........................................................................................5
实验 1 输出希腊字母表 ............................................................................................................5 实验 2 回文数 ............................................................................................................................6 实验 3 猜数字游戏 ....................................................................................................................7 实验 4 根据某学生的学习成绩,输出相应的信息.................................................................8 实验 5 根据某学生的学习成绩,输出相应的信息.................................................................9 实验 6 找出所有的水仙花数并输出.........................................................................................9 实验 7 用星号“*”和数字“0-9”排出三角形 ...................................................................10 实验 8 找 1~100 之间的素数 ..................................................................................................11 实验 9 打印图形 ......................................................................................................................11 实验 10 BREAK 和 CONTINUE示范语句..................................................................................12 实验 11 RETURN示范语句........................................................................................................12 实验 12 用牛顿迭代法求解方程.............................................................................................13
Java2实用教程课后答案_第三版_耿祥义_张跃平版
Java2实用教程(第三版) 课后习题参考答案第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 2 实用教材(第三版)课后练习题-第二章&第三章(部分)
P19 第二章习题
4.答:此程序错误在于: int型和byte型属于不同级别的数据类型,
int的级别高于byte型,当把int的值赋给byte型时,必须执行数据类型转换。
即:y = (byte) x .
5.输出结果如下:
6输出结果如下:
7.此程序输出结果如下图,输出结果表明:System.out.print( )和System.out.println( )的其别在于后者可以自动将是输出结果提至下一行,即:println()起回车的作用。
P33第三章练习
1.此程序输出结果为:
2.此程序输出结果为:
3.1!+2!……+10!之和的求解源程序为:
class W
{ public static void main(String args[])
{ int sum=0,j=1;int i=1;while(i<=10)
{ sum=sum+j;i=i+1;j=j*i;
}
System.out.println("1——10的阶乘之和为sum="+sum);
}
}
次程序的运行结果如下图:
附加题:编写一个Java应用程序,输入全部的日文片假名。
答:编写的源程序为:
public class V
{ public static void main (String args[ ])
{ for(int p=12446;p<=12543;p++)
{ System.out.println("unicode表中编号"+p+"位置上的日语片假名为:"+(char)p);
}
}
}
此程序输出结果如下图所示:。
Java-2实用教程习题解答
Java-2实⽤教程习题解答习题解答习题1(第1章)⼀、问答题1.Java语⾔的主要贡献者是谁?2.开发Java应⽤程序需要经过哪些主要步骤?3.Java源⽂件是由什么组成的?⼀个源⽂件中必须要有public类吗?4.如果JDK的安装⽬录为D:\jdk,应当怎样设置path和classpath的值?5.Java源⽂件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应⽤程序主类的名字是Bird,编译之后,应当怎样运⾏该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.James Gosling2.需3个步骤:1)⽤⽂本编辑器编写源⽂件。
2)使⽤javac编译源⽂件,得到字节码⽂件。
3)使⽤解释器运⾏程序。
3.源⽂件由若⼲个类所构成。
对于应⽤程序,必须有⼀个类含有public static void main(String args[])的⽅法,含有该⽅法的类称为应⽤程序的主类。
不⼀定,但⾄多有⼀个public类。
4.set classpath=D:\jdk\jre\lib\;.;5. java和class6. java Bird7.独⾏风格(⼤括号独占⾏)和⾏尾风格(左⼤扩号在上⼀⾏⾏尾,右⼤括号独占⾏)⼆、选择题1.B。
2.D。
1.下列哪个是JDK提供的编译器?A)B)C)D)2.下列哪个是Java应⽤程序主类中正确的main⽅法?A) public void main (String args[ ])B) static void main (String args[ ])C) public static void Main (String args[])D) public static void main (String args[ ])三、阅读程序阅读下列Java源⽂件,并回答问题。
public class Person {void speakHello() {"您好,很⾼兴认识您");" nice to meet you");}}class Xiti {public static void main(String args[]) {Person zhang = new Person();();}}(a)上述源⽂件的名字是什么?(b)编译上述源⽂件将⽣成⼏个字节码⽂件?这些字节码⽂件的名字都是什么?(c)在命令⾏执⾏java Person得到怎样的错误提⽰?执⾏java xiti得到怎样的错误提⽰?执⾏java 得到怎样的错误提⽰?执⾏java Xiti得到怎样的输出结果?1.(a)。
java2实用教程(第三版)第一章
编译 c:\1000\>javac Boy.java 运行 Java Applet由浏览器来运行,因此我们必须编写 一个超文本文件 (含有applet标记的web页)通知浏览 器来运行这个Java Applet.以下是一个简单的html文件: Boy.html
<applet code=Boy.class height=100 width=300></applet>
系统环境ClassPath 值的设置
SDK的安装目录的jre文件夹 中包含着Java应用程序运行 时所需要的Java类库,这些 类库被包含在jre\lib目录下 的压缩文件rt.jar中
1.4 一个Java程序的开发过程
1.5 一个简单的Java应用程序
public class Hello { public static void main (String args[ ]) { System.out.println("你好,很高兴学习Java"); } }
1.6 一个简单的Java小应用程序 (Java Applet)
import java.applet.*; import java.awt.*; public class Boy extends Applet { public void paint(Graphics g) { g.setColor(Color.red); g.drawString("我一边喝着咖啡,一边学Java呢",5,30); g.setColor(Color.blue); g.drawString("我学得很认真",10,50); } }
JAVA 2 程序设计
胡德昆 Email:hdk2003004@
Java2实用教程课后答案第三版耿祥义张跃平版
Java2实用教程(第三版)课后习题参考答案第1章Java入门1. 开发与运行Java程序需要经过哪些主要步骤与过程?答:〔1〕编写Java源文件:使用文本编辑器〔Edit或记事本〕,拓展名为.java 〔2〕编译Java源文件:使用Java编译器〔〕。
得到字节码文件*.class〔3〕运行Java程序:Java应用程序使用Java解释器〔〕执行字节码文件;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=300codebase=C:\5000></applet>存放在另一个目录中。
java2实用教程(第三版)第四章课后习题编程题
第四章15:interface 计算面积{ int 面积(int x,int y);}interface 计算体积{ int 体积(int x,int y,int z);}class 长方形implements 计算面积{ public int 面积(int x,int y){ return x*y;}}class 正方形implements 计算面积{ public int 面积(int x,int y){return x*x;}}class 长方体implements 计算体积{ public int 体积(int x,int y,int z) { return x*y*z;}}class E4_15{ public static void main(String args[]) { 计算面积js;js= new 长方形();System.out.println(js.面积(5,6));js=new 正方形();System.out.println(js.面积(4,4));计算体积tj;tj= new 长方体();System.out.println(tj.体积(4,5,6)); }}16:class A{ public void f(){ for(int i=97;i<123;i++){ char a=(char)i;System.out.print(a);}System.out.println();}}class B extends A{ public void g(){ //for(int i=(int)'α';i<=(int)'ω';i++)for(char a='α';a<='ω';a++)//System.out.print((char)i);SystemSystem.out.println();}}class E4_16{ public static void main(String args[]){ A a=new A();a.f();B b=new B();b.f();b.g();}}17:class MyException extends Exception{ String message;MyException(int m){ message=m+"大于1000";}public String toString(){return message;}}class Student{public void speak(int m) throws MyException{if(m>1000){MyException exception=new MyException(m);throw exception;}elseSystem.out.println(m);}}class E4_17{public static void main(String args[]){Student s=new Student();try{ s.speak(1002);}catch(MyException e){System.out.println(e.toString());}}}18:class 最大公约数{public int f(int a,int b){int m=0,n=0;m=a;n=b;if(m>n){int s=m;m=n;n=s;}else{while(m>0){int i=n%m;//int s=n;n=m;m=i;}}return n;}}class 最小公倍数extends 最大公约数{public int f(int a,int b){int m;m=super.f(a,b);return (a*b)/m;}}class E4_18{public static void main(String args[]){最大公约数yueshu =new 最大公约数();System.out.println("24和36的最大公约数:"+yueshu.f(24,36));最小公倍数beishu =new 最小公倍数();System.out.println("12和6的最小公倍数:"+beishu.f(12,6));}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java2实用教程(第三版)课后习题参考答案第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小应用程序源代码import java.applet.*;import java.awt.*;public class Boy extends Applet{public void paint(Graphics g){g.setColor(Color.red);g.drawString("我一边喝着咖啡,一边学Java呢",5,30);g.setColor(Color.blue);g.drawString("我学得很认真",10,50);}}②将上述代码命名为Boy.java并进行编译得到Boy.class字节码文件;将得到的字节码文件存放在C:\5000文件夹下;③编写小应用程序的HTML源文件:<applet code=Boy.class wdith=200 height=300 codebase=C:\5000> </applet>④将上述编写好的代码命名为Boy.html;并将此文件存放在C:\5000文件夹以外的任意一个文件夹中(如C:\1000);⑤运行Boy.html。
第2章标识符、关键字和数据类型1. 什么叫标识符?标识符的规则是什么?答:①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。
②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。
2. 什么叫关键字?请说出5个关键字。
答:①Java语言中已经被赋予特定意义的一些单词。
②class break public return static extends等。
3. Java的基本数据类型都是什么?答:boolean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。
4. 下列哪些语句是错误的:int x = 8;byte b = 127;b = x;答:b=x语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。
5. 下列程序的输出结果是什么?public class E{public static void main(String args[]){long[] a={1,2,3,4};long[] b={100,200,300,400,500};b=a;System.out.println("数组b的长度:"+b.length);System.out.println("b[0]="+b[0]);}}答: 数组b的长度:4b[0]=16. 上机运行下列程序,注意观察输出结果。
public class E{public static void main(String args[]){for(int i=20302;i<20322;i++){System.out.println((char)i);}}}答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡7. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如:System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。
上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。
public class OutputData{public static void main(String args[]){int x=234,y=432;System.out.println(x+"<"+(2*x));System.out.print("我输出结果后不回车");System.out.println("我输出结果后自动回车到下一行");System.out.println("x+y= "+(x+y));System.out.println(" "+x+y+"=234432");}}答: 234<468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666234432=2344328. 编写一个Java应用程序,输出全部的希腊字母。
答:public class XLWords{public static void main(String args[]){for(int i=913;i<930;i++){System.out.print((char)i+" ");}for(int j=931;j<938;j++){System.out.print((char)j+" ");}for(int k=945;k<962;k++){System.out.print((char)k+" ");}for(int t=963;t<=969;t++){System.out.print((char)t+" ");}}}第3章运算符、表达式和语句1. 下列程序的输出结果是什么?public class E{public static void main(String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}答: 你爱她2. 下列程序的输出结果是什么?public class E3{public static void main(String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1:c='b';System.out.print(c);case 2:c='e';System.out.print(c);break;case 3:c='p';System.out.print(c);default:System.out.print("!");}}}}答:beep!!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. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。