JAVA实验6答案
Java实验指导书答案
课 程 :Java面向对象程序设计语言 院 (部): 专 业 :电子商务 班 级: 学生姓名:
学 号: 指导教师: 完成时间:2014年6月
目录
实验一:JDK安装与配置 3 实验二:Java基本语法练习 4 实验三:数组和字符串练习 5 实验四:类和对象程序设计 6 实验五:接口、内部类与包练习 7 实验六:图形界面设计 8 实验七:线程设计 9 实验八:输入输出流设计 10 实验九:Applet编程 10 实验十: 网络程序设计 10
public class e33 {
public static void main(String[] args) {
BufferedReader str=new BufferedReader( new InputStreamReader(System.in)); try {
String a=str.readLine(); } catch (IOException e) {
/**
* @param args */ public static void main(String[] args) { System.out.println(new CnUpperCaser("123456789.12345").getCnString()); System.out.println(new CnUpperCaser("123456789").getCnString()); System.out.println(new CnUpperCaser(".123456789").getCnString()); System.out.println(new CnUpperCaser("0.1234").getCnString()); System.out.println(new CnUpperCaser("1").getCnString()); System.out.println(new CnUpperCaser("12").getCnString()); System.out.println(new CnUpperCaser("123").getCnString()); System.out.println(new CnUpperCaser("1234").getCnString()); System.out.println(new CnUpperCaser("12345").getCnString()); System.out.println(new CnUpperCaser("123456").getCnString()); System.out.println(new CnUpperCaser("1234567").getCnString()); System.out.println(new CnUpperCaser("12345678").getCnString()); System.out.println(new CnUpperCaser("123456789").getCnString()); } }
最新实验10--java异常(答案)
实验六Java异常处理【实验目的】1)掌握Java异常的概念及工作机制2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理异常语句的使用(try…catch…finally)5)掌握上抛异常语句的使用(throws)6)掌握创建自定义异常【实验环境】JDK1.6+Eclpise3.2【实验准备】1)复习课件中理论知识2)练习课堂所讲的例子【实验内容】1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。
测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
package SIX;import java.io.IOException;import java.io.InputStreamReader;import java.io.BufferedReader;public class CIRCLE {public static void main(String[] args) throws IOException { System.out.print("请输入半径: ");BufferedReader br = new BufferedReader(new InputStreamReader(System.in));try{System.out.println("圆的面积为:"+computerArea(Double.parseDouble(br.readLine())));}catch(NumberFormatException e){System.out.println("您输入的不是数值,请重新输入");}}public static double computerArea(double r){r eturn Math.PI*r*r;}}2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。
Java6程序设计实践教程实验指导课后答案
第1章:习题集:一、填空题1.多态2.java.exe 3.jdb.exe 4.标准字节码5.Java 6.独立于平台二、选择题1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C第2章:实验指导:.第一处需要的代码:yourGuess>realNumber第二处需要的代码:yourGuess=input.nextInt();第三处需要的代码:yourGuess<realNumber第四处需要的代码:yourGuess=input.nextInt();.第一处需要的代码:iArray[i] < iArray[j]第二处需要的代码:iTemp = iArray[i];iArray[i] = iArray[j];iArray[j] = iTemp;.第一处需要的代码:continue lable;第二处需要的代码:System.out.print(" "+(i+j));.第一处需要的代码:System.out.print("\t");第二处需要的代码:System.out.print(j + "*" + i + "=" + (i*j) + "\t");习题集:一、填空题1.i=i+1 sum=sum+1 i<1002.while do while for 3.94.The symbol is an a.The symbol is a b.The symbol is c.The symbol is not a,b,or c.Switch is completed5.sum=0 pos++二、选择题1.D 2.A 3.D 4.A 5.D 6.A 7.B 8.B 9.C三、简答题2、there is no this value 3.Message four i is 1,2,3 i is 1,2,3 i is 1,2,3 i is 4第3章实验指导:.第一处需要的代码:balance+=saveAccount;第二处需要的代码:balance+=calculateInterst(Days);第三处需要的代码:ba.setMoney(save_value);ba.setInterstRate(interst_rate);第四处需要的代码:ba.accountInterst(365);.第一处需要的代码:minute=this.m_Minute;second=this.m_Second;第二处需要的代码:s=d.getMinutes()+":"+d.getSeconds()+":"+d.getTime();.第一处需要的代码:super(number,pass);balance=bal;第二处需要的代码:connect.第一处需要的代码:super(pass, motor);this.make=make;this.model=model;第二处需要的代码:am.run();习题集:一、填空题1.类2.代码和数据3.点4.实例变量5.Test te=new Test();6.对象实例化7.值、引用8.the original is data is:-1now the data is:109.I am parentI am childI am child二、选择题1.B 2.A 3.C 4.C 5.A 6.A 7.C 8.A 9.D 10.C 11.A 12.C 13.C 三、简答题6. A abstract和final修饰符不能同时使用B 未给出类型定义,final int MAX_NUMBER=10;C 常量不能修改D 静态方法值能访问静态变量,static int data。
解析JAVA程序设计第六章课后答案
第6章习题解答1.简述Java中设计图形用户界面程序的主要步骤。
对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。
2.试说明容器与组件之间的关系。
组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。
容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。
3.阅读下面程序,说明其运行结果和功能。
//filename:MyFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrame{public static void main(String agrs[]){JFrame f=new JFrame("简单窗体示例");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l=new JLabel("习题1");f.getContentPane().add(l,BorderLayout.CENTER);f.pack();f.setVisible(true);}}程序的运行结果如下:4.阅读下面程序,说明其运行结果和功能。
//filename:TestButton.javaimport java.awt.*;import javax.swing.*;public class TestButton extends JFrame{JButton b1,b2;TestButton(String s){super(s);b1=new JButton("按钮1");b2=new JButton("按钮2");setLayout(new FlowLayout());add(b1);add(b2);setSize(300,100);setVisible(true);}public static void main(String args[]){ TestButton test;test=new TestButton("测试按钮"); }}程序的运行结果如下:5.阅读下面程序,说明其运行结果和功能。
java答案第六章
Java语言程序设计第六章课后习题答案1.将本章例6-1至6-18中出现的文件的构造方法均改为使用File类对象作为参数实现。
个人理解:File类只能对整文件性质进行处理,而没法通过自己直接使用file.Read()或者是file.write()类似方法对文件内容进行写或者读取。
注意:是直接;下面只提供一个例2变化,其他的你自己做,10几道啊,出这题的人真他妈有病。
import java.io.*;public class test6_2{public static void main(String[] args) throws IOException { String fileName = "D:\\Hello.txt";File writer=new File(fileName);writer.createNewFile();BufferedWriter input = new BufferedWriter(newFileWriter(writer));input.write("Hello !\n");input.write("this is my first text file,\n");input.write("你还好吗?\n");input.close();}}运行结果:(电脑系统问题,没法换行,所以一般使用BuffereWriter中newLine()实现换行)2.模仿文本文件复制的例题,编写对二进制文件进行复制的程序.// CopyMaker类import java.io.*;class CopyMaker {String sourceName, destName;BufferedInputStream source;BufferedOutputStream dest;int line;//打开源文件和目标文件,无异常返回trueprivate boolean openFiles() {try {source = new BufferedInputStream(newFileInputStream( sourceName ));}catch ( IOException iox ) {System.out.println("Problem opening " + sourceName );return false;}try {dest = new BufferedOutputStream(newFileOutputStream( destName ));}catch ( IOException iox ){System.out.println("Problem opening " + destName );return false;}return true;}//复制文件private boolean copyFiles() {try {line = source.read();while ( line != -1 ) {dest.write(line);line = source.read();}}catch ( IOException iox ) {System.out.println("Problem reading or writing" );return false;}return true;}//关闭源文件和目标文件private boolean closeFiles() {boolean retVal=true;try { source.close(); }catch ( IOException iox ) {System.out.println("Problem closing " + sourceName );retVal = false;}try { dest.close(); }catch ( IOException iox ) {System.out.println("Problem closing " + destName );retVal = false;}return retVal;}//执行复制public boolean copy(String src, String dst ) {sourceName = src ;destName = dst ;return openFiles() && copyFiles() && closeFiles();}}//test6_2public class test6_2{public static void main ( String[] args ) {String s1="lin.txt",s2="newlin.txt";if(new CopyMaker().copy(s1, s2))S ystem.out.print("复制成功");elseS ystem.out.print("复制失败");}}运行前的两个文本:lin.txt和newlin.txt(为空)运行后:3.创建一存储若干随机整数的文本文件,文件名、整数的个数及范围均由键盘输入。
Java实战经典(第六章课后题答案)
public float getFoot(){ return this.foot ;
} public float getHeight(){
return this.height ; } } class Cycle extends Shape{ private float radius ; private static final float PI = 3.1415926f ; public Cycle(){} public Cycle(float radius){
4
JAVA实验答案全
4.编写一个 Java Application 程序,输出区间[200,300]上的所有素数,要求写出程序的运 行结果。
public class primePrint{ public static void main(String args[])
{ int Leabharlann ,j; System.out.println("区间[200,300]上的所有素数:"); for(i=200;i<=300;i++){ for(j=2;j<=Math.sqrt(i);j++) if(i%j==0) break; if(j>Math.sqrt(i)) System.out.print(i+" "); } } }
} } 3.按下面的要求完成 Java Application 程序,写出程序的运行结果。 (1)定义一个 Java 类 Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的 横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前 位置等。 (2)定义一个测试类 JavaTest,创建 Point 类的对象并对其进行有关的操作。
} public class JavaTest {
public static void main(String args[]){ Point P; P=new Point(); P.set_Location(1.1f,1.2f); System.out.print(P.getLocation()); P.changeLocation(1.3f,1.4f); System.out.print(P.getLocation()); } }
AnjoyoJava06课后习题带答案
AnjoyoJava06课后习题一、选择题:1.下面关于异常的说法正确的一项是()。
A、异常就是在程序的运行过程中所发生的不正常的事件,但它不会中断正在运行的程序。
B、Error类和Exception类都是Throwable类的子类。
C、Exception处理的是Java运行环境中的内部错误或者硬件问题,比如,内存资源不足、系统崩溃等。
D、Error处理的是因为程序设计的瑕疵而引起的问题或者外在的输入等引起的一般性问题,例如:在开平方的方法中输入了一个负数,对一个为空的对象进行操作以及网络不稳定引起的读取网络问题等。
2.引起RuntimeException异常的原因不包括下面哪一项()。
A、错误的类型转换B、试图从文件结尾处读取信息C、试图访问一个空对象D、数组越界访问3.引起IOException异常的原因不包括下面哪一项()。
A、试图从文件结尾处读取信息B、试图打开一个不存在或者格式错误的URL。
C、数学计算错误D、用Class.forName()来初始化一个类的时候,字符串参数对应的类不存在。
4.下面哪一项不是RuntimeException异常中的一类()。
A、ClassNotFoundException:无法找到需要的类文件异常B、NumberFormatException:数字转化格式异常C、IllgalArgumentException:非法参数值异常D、IllegalStateException:对象状态异常,如对未初始化的对象调用方法5.IOException异常不包括下面哪一项()。
A、EOFException:读写文件尾异常B、InterruptedException:线程中断C、SocketException:Socket通信异常D、MalformedURLException:URL格式错误异常6.下列关于try-catch-finally处理异常描述有误的一项是()。
A、异常处理可以定义在方法体、自由块或构造方法中。
JAVA语言程序设计第六版编程答案第二章
Double tax = Double.parseDouble(JOptionPane.showInputDialog(null,"请输入提成:"));
Scanner input = new Scanner(System.in);
int num = input.nextInt();
if(num<0 || num>127){
System.out.println("输入有误!程序终止运行");
double futureInvestmentValue = investmentAmount*Math.pow((monthlyInverestRate+1.0),numberOfYear*12);
String output = "将来的资金额为:" + futureInvestmentValue;
", 高度为:" + height +
"的圆柱体积是:" + volume);
}
}
2_3
import javax.swing.JOptionPane;
}
}
2_2
import javax.swing.JOptionPane;
public class Exercise2_2 {
public static void main(String[] args) {
double radius, height;
习题答案6-Java面向对象程序设计(第3版)-赵生慧-清华大学出版社
第六章【练习6.1 】[思考题] 请思考Java程序中编译时错误、逻辑错误和异常之间区别。
编译时的错误常常是语法上的错误。
通过编译器错误提示,能较容易修改。
程序逻辑上的错误是能被编译器编译通过,并能顺利运行,但运行出来的结果往往不是我们预期的结果。
异常是在程序运行过程中出现了错误导致程序终止,常常是运行时的错误。
练习6.21.C2.A练习6.31.C2.D3.A4.B5.B6.C练习6.41.B2.D练习6.51.C2.捕获异常;继续声明异常练习6.61.A2.C3.Exception;throws4.It’s caught!It’s finally caught!习题61.test2.不会3.[编程题]定义Triangle 类,其中包含一个方法void sanjiao(int a,int b,int c),用来判断三个参数是否能构成一个三角形。
如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
import java.util.Arrays;import java.util.Scanner;public class Triangle {public static void sanjiao(int a,int b,int c)throws Exception {if(a+b>c && c-a<b){System.out.println("能构成三角形");System.out.println("a="+a+","+"b="+b+","+"c="+c);}else {throw new IllegalArgumentException(a+","+b+","+c+" 不能构成三角形");}}public static void main(String[] args){int a[]=new int[3];System.out.println("输入三个整数");for(int i=0;i<3;i++){Scanner sc=new Scanner(System.in);a[i]=sc.nextInt();}Arrays.sort(a);//数组默认的从小到大排序,以保证三角形判定准则有效try{sanjiao(a[0],a[1],a[2]);}catch(IllegalArgumentException e){e.printStackTrace();}catch(Exception e){e.printStackTrace();}}}4.编写三个自定义异常类,分别为空异常类、年龄小异常类和年龄大异常类。
Java程序设计案例教程 习题答案 第6章 集合
第6章集合类一.填空
1.Collection
2.hashNext() next()
3.Array List LinkedList, HashSet> TreeSet, HashMap、TreeMap
4.Key> Value
5.数组二.判断
1.错
2.对
3.错
4.对5,对三.选择
1.BC
2.B
3.ABCD
4.D
5.B
6.C四.简答
1. List的特点是元素有序、可重复。
List接口的主耍实现类有ArrayList和LinkedListo Set的特点是元素无序、不可重复。
Set接口的主要实现类有HashSet和TreeSeto Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。
M叩接口的主要实现类有HashMap和TreeMap o
2.由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创立新的数组,效率比拟低,因此不适合做大量的增删操作。
但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷。
五.编程。
Java EE架构设计与开发教程方巍机工版课后习题答案第6章
6.6 课后习题一、选择题1. 一般情况下,关系数据模型与对象模型之间有__________匹配关系。
(多选)A、表对应类B、记录对应对象C、表的字段对应类的属性D、表之间的参考关系对应类之间的依赖关系答案:ABC2. 事务隔离级别是由_______实现的?A、Java应用程序B、HibernateC、数据库系统D、JDBC驱动程序答案:C3、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现的情况是_________。
Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));mit();session.close();Iterator orderIterator=customer.getOrders().iterator();A、编译出错B、编译通过,并正常运行C、编译通过,但运行时抛出异常答案:C4、以下关于SessionFactory的说法_________正确?(多选)A、对于每个数据库事务,应该创建一个SessionFactory对象B、一个SessionFactory对象对应一个数据库存储源。
C、SessionFactory是重量级的对象,不应该随意创建。
如果系统中只有一个数据库存储源,只需要创建一个。
D、SessionFactory的load()方法用于加载持久化对象答案:BC5、<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade 属性应该取_________值?A、noneB、saveC、deleteD、save-update答案:D二、简答题1、简述对象关系映射ORM概念。
浙江大学Java语言程序设计实验答案全集
Java答案全集实验汇总。
实验2 数据类型和变量的使用一、程序填空,在屏幕上显示一个短句“Programming in Java is fun!”import java.io.*;public class Test10001{public static void main(String args[]){/*------------------------*/}}二、程序填空,在屏幕上显示如下网格。
+---+---+| | || | |+---+---+import java.io.*;public class Test10002{public static void main(String args[]){/*------------------------*/}}三、编写程序,在屏幕上显示如下图案。
(要求:第1行行首无空格,每行行尾无空格)* * * ** * ** **public class Test10003{public static void main(String args[]){/*------------------------*/}}实验3 运算符和表达式的使用1、运行结果:m=2 k=1x=1.0 y=2.0 z=-3.0ch1=-A ch2=Ach1=-A ch2=aHello,Welcome to core Java!思考题:(1)字符'A'的Unicode码比字符'a'的Unicode码小32。
(2)假设字符型变量ch中保存一个大写字母,执行ch+=('a'-'A' );后,ch中是相应的小写字母。
例:若ch='B',执行后ch='b'。
2、运行结果:m=3 n=2. m大于n吗?truem=2 n=2. m大于n吗?falsestr1=Hello;str2=Hello!s1和s2相等吗?false思考题:(1)s2比s1多一个字符“!”,所以不相同。
java实验报告答案
java实验报告答案
Java实验报告答案
实验目的:通过编写Java程序,掌握面向对象的编程思想和Java语言的基本语法。
实验内容:编写一个简单的学生信息管理系统,包括学生类和主程序类。
实验步骤:
1. 创建一个学生类,包括学生的姓名、年龄、性别等属性,并实现相应的get 和set方法。
2. 在主程序类中,创建学生对象并调用学生类的方法,实现对学生信息的管理和操作。
3. 编写测试用例,验证程序的正确性和稳定性。
实验结果:通过实验,我掌握了Java语言的基本语法和面向对象的编程思想,能够编写简单的Java程序,并且能够对程序进行测试和验证。
实验总结:通过这次实验,我对Java语言有了更深入的了解,掌握了面向对象的编程思想,提高了编程能力和解决问题的能力。
结论:通过本次实验,我对Java语言有了更深入的了解,掌握了面向对象的编程思想,提高了编程能力和解决问题的能力。
这对我以后的学习和工作都有很大的帮助。
Java应用开发技术相关的测试题及参考解答(第6部分)
27、给出以下代码,请问以下描述正确的是? public XXXX extends something1,something2 A. 如果 XXXX 是一个接口,something1 和 something2 取消掉,则代码段合法 B. 如果 XXXX 是一个类,something1 和 something2 均是接口,则代码段合法 C. 如果 XXXX、something1 和 something2 都是接口,则代码段合法 D. 因为 Java 语音不支持多继承机制,所以代码段不合法
答案:C
28、给出以下代码,请问以下关于一个实现该接口的类的哪些描述是正确的? public interface Example{ void someMethod(); } A. 该类应该有一个被声明为 public 的 someMethod()方法 B. 该类应该有一个被声明为 public 的或不加任何访问修饰符的 someMethod()方法 C. 该类应该有一个不抛出异常的 someMethod()方法
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
25、请问,以下哪些实现了多态? A. 内部类 B. 匿名类 C. 方法过载(override) D. 方法重载
答案:CD
26、请问以下哪些描述是正确的? A. native 关键字表明修饰的方法是有其他非 Java 语音编写的 B. 能够出现在 Java 源文件中 import 语句前的只有注释语句 C. 接口中定义的方法默认是 public 和 abstract 的,不能被 private 或 protected 修饰 D. 构造器只能被 public 或 protected 修饰
答案:A
24、请问,以下哪些有关接口的描述是正确的? A. 在接口中定义的方法默认都是 public 的 B. 在接口中定义的方法默认是 public、static、final 方法 C. 一个接口可以继承多个接口 D. 关键字 implements 代表继承关系
JAVA 综合实验及练习(参考答案)
参考:这一题考虑使用组合布局,将上面控件放置在 JPanel 上,再将 JPanel 放到内容 面板的中间。下面四个按钮先放在某 JPanel 再放置在内容面板的 South 部分
9、以 JDBC 技术创建一个通讯录应用程序,要求通讯录中必须含有编号、姓名,性别、电
话、地址、Email 等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。编写主 程序测试。 参考如下: 第一步:编写一个 Person 联系人类 public class Person { private int pid; //编号 // 姓名 // 性别 // 电话 //email private String name; private String sex; private String tel; private String email; /*构造函数以及 set-get 函数*/ } 第二步:编写一个 PersonDao 封装对联系人类的有关操作 public class PersonDao { // 添加 联系人 public void addPerson(Person p){ String sql=””; DBHelper. executeUpdate(sql); }
14、关于 length()这个方法的表述正确的是哪个? ( ) A.数组有 length()这个方法,string 也有 length()这个方法。 B.数组有 length()有这个方法,string 没有 length()这个方法。 C.数组没有 length()这个方法,string 有 length()这个方法。 D.数组没有 length()这个方法,string 也没有 length()这个方法。 15、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另 一个是尚未排序的。 现若想将数据序列由小到大排序,则每次放到有序子列尾部 位置的元素,应从无序序列中选择( )。 A)最大的 B)最小的 C)任意的 D)头上的
java大学实验报告含答案
《Java编程》实验教学大纲实验学时:32 实验个数:6实验学分:1课程性质:专业限选课适用专业:软件工程教材及参考书:1.《Java语言程序设计》,郑莉等主编,北京:清华大学出版社,20062.《面向对象程序设计与Java语言》,周晓聪等著,北京:机械工业出版社,2004大纲执笔人:朱贵琼大纲审定人:李晓宁一、实验课的性质与任务Java语言是新兴起的面向对象程序设计语言,用于应用程序设计,尤其是应用在网络、因特网和移动设备上。
为培养学生网络应用程序的编程能力,在学生具有一定的计算机和网络知识的基础上开设Java程序设计课程,使学生能够运用Java语言作为完成应用程序设计的基本工具。
本课程将从面向对象的基本概念入手,结合课程设计,较为系统地介绍Java语言的主要特征和编程方法,包括:类型与转换、类的声明与对象产生、继承与多态性、包与接口、数组与字符串、多线程编程以及异常处理、JDBC等内容。
通过相关的实验设计,使学生具有一定的网络编程能力。
二、实验课程目的与要求1.实验目的:开设该课程设计,目的是让学生在掌握了Java程序设计的基本知识、基本理论方面后,能熟悉Java编程的思想和编程技巧,培养学生分析问题和解决问题的能力及技巧。
实验设计覆盖Java程序设计中主要的方法。
该课程以讲授、演示和实验法相结合。
按照重视基础,突出重点的原则进行。
通过程序设计培养学生的程序设计能力、解决和分析问题的能力,使学生对所学的内容有更深入的理解,逐步掌握Java编程方面的技巧。
2.实验要求:(1)实验安排在上机时间进行,如在上机时间不能完成可课后完成,到期交经过编译并能正常运行的软件。
(2)实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解。
(3)每个实验都要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调试结果)。
三、实验项目及内容提要四、实验内容安排:实验一 Java基础知识实验(验证型实验 4学时)1.目的要求:(1)熟悉Jbuilder的开发环境,学会Jbuilder基础的操作和调试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称 实验六.Java 的接口与实现 课程名称JaVa程序设计与开发 课程号16232204 技术实验地点钟海楼实验日期2015年04019 10 月 26 日 、实验目的(1) 学习掌握Java 中类怎样实现接口、接口回调技术;(2) 学习掌握Java 程序中面向接口的编程思想。
二、实验任务完成实验六指导上实验1、实验2、实验3的实验任务。
三、实验仪器设备和材料安装有J2SE 开发工具的PC 机。
四、实验内容和步骤实验1代码如下:Estimator.javain terface Compu rerAverage{p ublic double average(double x[]);}class Gymn astics imp leme nts Compu rerAverage{ p ublic double average(double x[]){int coun t=x.le ngth;double aver=0,te mp=0;for(i nt i=0;i<co un t;i++){for(i nt j=i;j<co un t;j++){if(x[j]<x[i]){tem p=x[j];x[j]=x[i]; x[i]=temp;}}}for(i nt i=1;ivco un t-1;i++){学院(系)信息学院 专业 计算机科学与技术 班级计科 学生姓名 学号aver=aver+x[i];}if(cou nt>2)aver=aver/(co un t-2);elseaver=0;retur n aver;}}class School impi eme nts Compu rerAverage{p ublic double average(double[] x){int coun t=x.le ngth;double sum=0;for(i nt i=0;i<co un t;i++){sum+=x[i];}retu rn sum/co unt;}}p ublic class Estimator{p ublic static void main( Stri ng[] args){double a[]={9.89,9.88,9.99,9.12,9.69,9.76,8.97};double b[]={89,56,78,90,100,77,56,45,36,79,98};Compu rerAverage compu ter;computer=new Gymn astics();double result=co mpu ter.average(a);System.out .prin tf("% n");System.out .prin tf(" 体操选手最后得分:%5.3f\n",result);computer=new School();result=co mpu ter.average(b);System.out. prin tf(" 班级考试平均分数:%-5.2f\n",result);}}运行结果:-------- JAVAC -----------Estimator.java:27: 错误:School不是抽象的,并且未覆盖CompurerAverage中的抽象方法average(double[])class School impi eme nts Compu rerAverage{A1个错误实验2代码如下:CheckCarWeight.javain terface Compu terWeight{p ublic double compu terWeight();}class Televisi on imp leme nts Comp uterWeight{ p ublic double compu terWeight(){ return 10.0;} }class Compu ter imp leme nts Compu terWeight{ p ublic double compu terWeight(){ return 8.0;}}class WashMach ine imp leme nts Compu terWeight{ p ublic double compu terWeight(){ return 35.5;}}class Truck{Compu terWeight[] goods;double totalWeihts=0;Truck(Co mpu terWeight[] goods){ this.goods=goods;}p ublic void setGoods(Co mpu terWeight[] goods){ this.goods=goods;}public double getTotalWeigths(){ totalWeihts=0;for(i nt i=0;i<goods.le ngth;i++){ totalWeihts+=goods[i].co mpu terWeight();}return totalWeihts;}}public class CheckCarWeight{p ublic static void main( Stri ng[] args){Compu terWeight[] goods=new Compu terWeight[650];for(i nt i=0;i<goods.le ngth;i++){if(i%3==0)goods[i]=new Televisi on();if(i%3==1)goods[i]=new Compu ter();if(i%3==2)goods[i]=new WashMachi ne();}Truck truck=new Truck(goods);System.out .prin tf("\n 货车装载的货物重量:%-8.5f kg\n",truck.getTotalWeigths());goods=new Compu terWeight[68];for(i nt i=0;i<goods.le ngth;i++){if(i%2==0)goods[i]=new Televisi on();elsegoods[i]=new WashMachi ne();货车装载的货物重量:%-8.5f kg\n", truck.getTotalWeigthsO); }}运行结果:练习:class Refrigerrator imp leme nts Compu terWeight{ p ublic double compu terWeight(){return 10.5;}}不需修改Truck 类 实验3代码如下:CheckDogState.javain terface DogState{p ublic void showState();}class SoftlyState imp leme nts DogState{}truck.setGoods(goods);System.out. printf (”p ublic void showState(){System.out.println(" 听主人的命令");}}class MeetE nemyState impi eme nts DogState{p ublic void showState(){System.out.printing 狂叫,并冲向去狠咬敌人");}}class MeetFrie ndState imp leme nts DogState{p ublic void showState(){System.out.println(" 晃动尾巴,表示欢迎");}}class MeetA no therDog imp leme nts DogState{p ublic void showState(){System.out. prin tl n(" 嬉戏");}}class Dog{DogState state;p ublic void show(){state.showState();}p ublic void setState(DogState s){state=s;}}p ublic class CheckDogState{p ublic static void main( Stri ng[] args){Dog yellowDog=new Dog();System.out. prin t("狗在主人面前:"); yellowDog.setState( new SoftlyState());yellowDog.showQ;System.out .prin t("狗遇到敌人:"); yellowDog.setState( new MeetE nemyState());yellowDog.show();System.out .prin t("狗遇到朋友:"); yellowDog.setState( new MeetFrie ndState());yellowDog.show();System.out .prin t("狗遇到同伴:"); yellowDog.setState( new MeetA no therDog());yellowDog.show();练习:CheckWaterState.javain terface WaterState{p ublic void showState();}class ColdState imp leme nts WaterState{p ublic void showState(){System.out. prin tl n(" 固态");}}class Ordin aryState imp leme nts WaterState{ p ublic void showState(){ System.out. prin tl n(" 液态");}}class HotState imp leme nts WaterState{p ublic void showState(){System.out. prin tl n(" 气态");}}class Water{Waterstate state;p ublic void show(){state.showStateO;}p ublic void setState(WaterState s){ state=s; }}public class CheckWaterState{p ublic static void main( Stri ng[] args){Water water= new Water();System.out.print("低于 0° C:"); water.setState( new ColdState()); water.show(); System.out.print("高于 0° C 且低于 100° C:"); water.setState( new Ordi naryState()); water.show();System.out.print(" 高于 100° C "); water.setState( new HotState()); water.show();注:请用A4纸书写,不够另附纸。