《2022年Java实用教程实验答案 .pdf》由会员分享,可在线阅读,更多相关《2022年Java实用教程实验答案 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 Java 2实用教程(第三版)实验指导与习题解答清华大学出版社(编著耿祥义张跃平)实验模版代码及答案建议使用文档结构图(选择 Word菜单视图文档结构图)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 2 上机实践1 初识 JAVA . 4实验 1一个简单的应用程序 . 4 实验 2一个简单的JAVA APPLET程序. 4 实验 3联合编译 . 4 上机实践2 基本数据类型与控制语句. 4实验 1输出希腊字母表 . 4
2、实验 2回文数 . 4 实验 3猜数字游戏 . 5 上机实践3 类与对象 . 5实验 1三角形、梯形和圆形的类封装 . 5 实验 2实例成员与类成员. 6 实验 3使用PACKAGE语句与IMPOR T语句 . 7 上机实践4 继承与接口 . 7实验 1继承. 7 实验 2上转型对象 . 8 实验接口回调 . 9 上机实践5 字符串、时间与数字. 9实验 1STRING类的常用方法 . 9 实验 2比较日期的大小 . 10 实验 3处理大整数 . 10 上机实践6 组件及事件处理. 10实验 1算术测试 . 10 实验 2信号灯 .11 实验 3布局与日历 .11 上机实践7 组件及事件处理2
3、 .11实验 1方程求根 .11 实验 2字体对话框 . 12 实验 3英语单词拼写训练. 12 上机实践8 多线程 . 12实验 1汉字打字练习 . 12 实验 2旋转的行星 . 12 实验 3双线程接力 . 13 上机实践9 输入输出流 . 13实验 1学读汉字 . 13 实验 2统计英文单词字 . 13 实验 2读取 ZIP文件 . 13 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 3 上机实践10 JAVA 中的网
4、络编程 . 14实验 1读取服务器端文件. 14 实验 2使用套接字读取服务器端对象 . 14 实验 3基于 UDP 的图像传输 . 14 上机实践11 数据结构 . 16实验 1扫雷小游戏 . 16 实验 2排序与查找 . 16 实验 3使用 TREESET排序 . 16 上机实践12 JAVA SWING . 16实验 1JLAYEREDPANE分层窗格 . 16 实验 2使用表格显示日历. 17 实验 3多文档界面(MDI ) . 17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
5、- 第 3 页,共 17 页 - - - - - - - - - 4 上机实践 1 初识 Java 实验 1 一个简单的应用程序1答案:【代码 1】 :System.out.println( 你好,很高兴学习Java) ; 【代码 2】 :System.out.println(We are students) ; 实验 2 一个简单的Java Applet程序1答案:【代码 1】 :g.drawString( 这是一个 Java Applet 程序 ,10,30); 【代码 2】 :g.drawString( 我改变了字体 ,20,50); 实验 3 联合编译1答案:【代码 1】 :Syste
6、m.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 输出希腊字母表1答案:【代码 1】 :startPosition=(int)cStart;【代码 2】 :endPosition=(int)cEnd ; 【代码 3】 :c=(char)i; 实验 2 回文数1答案:【代码 1】 :number=1名师资料总结 - - -精品资料欢迎下
7、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 5 【代码 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=d3 实验 3 猜数字游戏1答案:【代码 1】 :yourGues
8、s!=realNumber【代码 2】 :yourGuessrealNumber【代码 3】 :yourGuessc&a+cb&c+ba【代码 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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
9、- 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 6 【代码 7】 :a+bc&a+cb&c+ba【代码 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】 :ci
10、rcle=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
11、】 :area=trangle.getArea();【代码 25】 :length=trangle.getLength();实验 2 实例成员与类成员1答案:【代码 1】 :float a; 【代码 2】 :static float b;【代码 3】 :this.a=a; 【代码 4】 :this.b=b;【代码 5】 :A.b=100; 【代码 6】 :A.inputB();【代码 7】 :cat.setA(200);【代码 8】 :cat.setB(400); 【代码 9】 :dog.setA(150); 【代码 10】 :dog.setB(300); 【代码 11】 :cat.input
12、A();【代码 12】 :cat.inputB(); 【代码 13】 :dog.inputA(); 【代码 14】 :dog.inputB(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 7 实验 3 使用 package语句与 import语句1答案:无上机实践 4 继承与接口实验 1 继承1答案:【代码 1】 :public void speakHello() System.out.println( 你好 ,吃饭了吗
13、 ?); 【代码 2】 :public void averageHeight() height=173; System.out.println( 中国人的平均身高:+height+ 厘米 ); 【代码 3】 :public void averageWeight() weight=67.34; System.out.println( 中国人的平均体重:+weight+ 公斤 ); 【代码 4】 :System.out.println( 坐如钟 ,站如松 ,睡如弓 );【代码 5】 :public void speakHello() System.out.println(How do Y ou d
14、o); 【代码 6】 :public void averageHeight() height=188; System.out.println(Amerian A verage height:+height+ cm); 【代码 7】 :public void averageWeight() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 8 weight=80.23; System.out.println(Amerian A v
15、erage weight:+weight+ kg);【代码 8】 :System.out.println( 直拳、钩拳 );【代码 9】 :public void speakHello() System.out.println( 您好 ); 【代码 10】 :public void averageHeight() height=16; System.out.println( 北京人的平均身高:+height+ 厘米 ); 【代码 11】 :public void averageWeight() weight=6; System.out.println( 北京人的平均体重:+weight+ 公斤
16、 ); 【代码 12】 :System.out.println( 京剧术语 ); 实验 2 上转型对象1答案:【代码 1】 :public double earnings() return 50000.456; 【代码 2】 :public double earnings() return 12*2300; 【代码 3】 :public double earnings() return 52*500; 【代码 4】 :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17
17、页 - - - - - - - - - 9 for(int i=0;iemployee.length;i+) salaries=salaries+employeei.earnings(); 实验接口回调1答案:【代码 1】 :public double computeWeight() return 45.5; 【代码 2】 :public double computeWeight() return 65.5; 【代码 3】 :public double computeWeight() return 145; 【代码 4】 :for(int k=0;kgoods.length;k+) total
18、Weights=totalWeights+puteWeight(); 上机实践 5 字符串、时间与数字实验 1 String 类的常用方法1答案:【代码 1】 : s1.equals(s2) 【代码 2】 : s3.startsWith(“ 220302” ) 【代码 3】 : s3.CompareTo(s5) 【代码 4】 :【代码 5】 :path.lastIndexOf(); 【代码 6】 : path.substring(12,18); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
19、 - 第 9 页,共 17 页 - - - - - - - - - 10 【代码 7】 :Integer.parseInt(s6); 【代码 8】 :=Double.parseDouble(s7); 【代码 9】 :String.valueOf(m); 【代码 10】 :new chars9.length(); s9.getChars(0,s9.length()-1,a,0); 实验 2 比较日期的大小1 答案:Calendar.getInstance(); 2calendar.set(yearOne,monthOne,dayOne);3long timeOne=calendar.getTim
20、eInMillis();4calendar.set(yearTwo,monthTwo,dayTwo); 5calendar.getTimeInMillis();6new Date(timeOne);7new Date(timeTwo);8 (timeOne-timeTwo)/(1000*60*60*24);实验 3 处理大整数1 答案:n1.add(n2); 2n1.subtract(n2);3n1.multiply(n2);4n1.divide(n2);上机实践 6 组件及事件处理实验 1 算术测试1 答案:new TextField(10); 2new TextField(10);3new
21、 TextField(10);4getProblem.addActionListener(this) ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 11 5giveAnwser.addActionListener(this); 6textResult.addActionListener(this);7e.getSource()=getProblem8e.getSource()=giveAnwser9newComputer
22、Frame( 算术测试 );实验 2 信号灯1 答案:choice=new Choice(); 2choice.add(itemRed); 3choice.add(itemYellow); 4choice.add(itemGreen); 5choice.addItemListener(this); 6choice.getSelectedItem(); 实验 3 布局与日历1答案:【代码 1】 :pCenter.setLayout(new GridLayout(7,7); 【代码 2】 :pCenter.add(titleNamei); 【代码 3】 :pCenter.add(labelDayi
23、); 【代码 4】 :add(scrollPane,BorderLayout.CENTER); 【代码 5】 :add(pNorth,BorderLayout.NORTH); 【代码 6】 :add(pSouth,BorderLayout.SOUTH); 上机实践 7 组件及事件处理2 实验 1 方程求根1答案:【代码 1】 :controlButton.addActionListener(this); 【代码 2】 :textA.getText() 【代码 3】 :textB.getText()【代码 4】 :textC.getText() 名师资料总结 - - -精品资料欢迎下载 - -
24、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 12 实验 2 字体对话框1答案:【代码 1】 :setModal(true);【代码 2】 :setVisible(false);【代码 3】 :setVisible(false);【代码 4】 :new FontDialog(this); 【代码 5】 :setVisible(true); 【代码 6】 :dialog.setTitle( 字体对话框 ); 实验 3 英语单词拼写训练1答案:【代码 1】 : addFocu
25、sListener(this);【代码 2】 :addMouseListener(this); 【代码 3】 :labelk.addKeyListener(this); 【代码 4】 :e.getKeyCode()=KeyEvent.VK_LEFT 【代码 5】 :e.getKeyCode()=KeyEvent.VK_RIGHT 上机实践 8 多线程实验 1 汉字打字练习1答案:【代码 1】 :sleep(6000);【代码 2】 :WordThread giveWord; 【代码 3】 :giveWord=new WordThread(wordLabel); 【代码 4】 :giveWord
26、.isAlive()【代码 5】 :giveWord.start(); 实验 2 旋转的行星1答案:【代码 1】 :Thread moon;【代码 2】 :thread =new Thread(this); 【代码 3】 :Thread.sleep(10); 【代码 4】 :Thread rotate;【代码 5】 :rotate.start(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 13 实验 3 双线程接力1
27、答案:【代码 1】 :Thread first,second;【代码 2】 :first=new Thread(this); 【代码 3】 :second=new Thread(this); 【代码 4】 :Thread.currentThread()=first【代码 5】 :Thread.currentThread()=second 上机实践 9 输入输出流实验 1 学读汉字1答案:【代码 1】 :new FileReader(file); 【代码 2】 :new BufferedReader(inOne);【代码 3】 :inTwo.readLine(); 【代码 4】 :new Fil
28、eReader(helpFile); 【代码 5】 :new BufferedReader(inOne);实验 2 统计英文单词字1答案:【代码 1】 :new RandomAccessFile(file,rw);【代码 2】 :new RandomAccessFile(file,rw); 【代码 3】 :inOne.read(); 【代码 4】 :inTwo.seek(wordStarPostion);【代码 5】 :inTwo.readFully(cc); 实验 2 读取 Zip 文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
29、- - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 14 上机实践 10 Java 中的网络编程实验 1 读取服务器端文件1答案:【代码 1】 :url=new URL(name);【代码 2】 :url.getHost(); 【代码 3】 :url.getPort(); 【代码 4】 :url.getFile();【代码 5】 :url.openStream(); 实验 2 使用套接字读取服务器端对象客户端模板:Client.java 答案:【代码 1】 :new InetSocketAddress(address,4331);
30、【代码 2】 :socket.connect(socketAddress); 【代码 3】 : socket.getInputStream() 【代码 4】 : socket.getOutputStream() 服务器端模板:Server.java 答案:【代码 1】 : new ServerSocket(4331); 【代码 2】 : server.accept(); 【代码 3】 : socket.getOutputStream() 【代码 4】 : socket.getInputStream() 实验 3 基于 UDP 的图像传输客户端模板:Client.java 答案:【代码 1】 :
31、new DatagramPacket(b,b.length,address,1234);【代码 2】 :new DatagramSocket();【代码 3】 :mailSend.send(data); 【代码 4】 :mailReceive=new DatagramSocket(5678);服务器端模板:Server.java 答案:【代码 1】 :new DatagramSocket(1234);【代码 2】 :pack.getAddress();【代码 3】 :new DatagramPacket(b,n,address,5678); 【代码 4】 :new DatagramSocket
32、(); 【代码 5】 :mailSend.send(data); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 15 【代码 6】 :new DatagramPacket(end,end.length,address,5678); 【代码 7】 :new DatagramSocket(); 【代码 8】 :mailSend.send(data);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
33、- - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 16 上机实践 11 数据结构实验 1 扫雷小游戏1答案:【代码 1】 :new LinkedList();【代码 2】 :list.add(blockij) ; 【代码 3】 :list.size();【代码 4】 :(Block)list.get(randomIndex);【代码 5】 :list.remove(randomIndex); 实验 2 排序与查找实验 3 使用 TreeSet 排序1答案:【代码 1】 :new TreeSet();【代
34、码 2】 :treeSet.add(stu); 【代码 3】 :tree.iterator();【代码 4】 :te.hasNext() 【代码 5】 :(Student)te.next(); 上机实践 12 java Swing 实验 1 JLayeredPane分层窗格1答案:【代码 1】 :pane.add(b5,JLayeredPane.DRAG_LAYER); 【代码 2】 :pane.add(b4,JLayeredPane.POPUP_LAYER);【代码 3】 :pane.add(b3,JLayeredPane.MODAL_LAYER);【代码 4】 :pane.add(b2,J
35、LayeredPane.PALETTE_LAYER); 【代码 5】 :pane.add(b1,JLayeredPane.DEFAULT_LAYER);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 17 实验 2 使用表格显示日历1答案:【代码 1】 :table=new JTable(rili,name);【代码 2】 :table=new JTable(rili,name);【代码 3】 :table=new JTab
36、le(rili,name);实验 3 多文档界面( MDI)1答案:【代码 1】 :new JDesktopPane(); 【代码 2】 :desk.getAllFrames(); 【代码 3】 :desk.setLayer(ai,JDesktopPane.DEFAULT_LAYER);【代码 4】 :desk.add(newInternalFrame,JDesktopPane.DRAG_LAYER); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -