JAVA实验五

JAVA实验五
JAVA实验五

实验名称:实验5:Java 中的接口、匿名类和异常

班级:姓名:学号:

一、实验目的

熟悉Java 中的接口、匿名类和异常。

二、实验内容与结果

(说明:按实验任务分别填写任务描述、处理思路及关键技术说明、程序源码和运行结果截图,不要心得与体会。)

任务1:编写应用程序,从命令行输入两个小数参数,求它们的商。要求程序中捕获NumberformatException异常和ArithmeticException异常。

package test;

import java.util.*;

public class test1 {

public static void main(String args[]){

try{

System.out.println(shang());

}

catch(NumberFormatException e){

System.out.println(e.getMessage( ));

}

catch(ArithmeticException e){

System.out.println(e.getMessage( ));

}

}

static double shang(){

Scanner reader = new Scanner(System.in);

String a,b;

a = reader.next();

b = reader.next();

return

Double.parseDouble(a)/Double.parseD ouble(b);

}

}

任务2:设计一个训练场,这个训练场专门训练海豚,使它们能够跳舞dance ()和发出“呼呼”的声音cry(),要求用内部类实现。

package test;

import java.util.*;

public class test1 {

public static void main(String args[]){

training p = new training();

System.out.println(p.p.dance());

System.out.println(p.p.cry());

} }

class training{

dolphin p;

training(){

p = new dolphin();

}

class dolphin{

String dance(){

return"dance";

}

String cry(){

return"zhi"; }

} }

任务3:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象并访问start()和stop()方法。

package test;

import java.util.*;

public class test1 {

public static void main(String args[]){

Bus p1 = new Bus();

Bike p2 = new Bike();

System.out.println(p1.start(1));

System.out.println(p1.stop(1));

System.out.println(p2.start(1));

System.out.println(p2.stop(1));

}

}

interface Vehicle{

String start(int n);

String stop(int n);

}

class Bike implements Vehicle{ public String start(int n){ return"Bike start";

}

public String stop(int n){

return"Bike stop";

}

}

class Bus implements Vehicle{ public String start(int n){ return"Bus start";

}

public String stop(int n){

return"Bus stop";

}

}

任务4:假设Computable是一个接口,该接口含有一个compute()方法,编写一个用于计算的应用程序,该程序有一个方法ToCompute(Computable c)方法,可以计算加法和乘法,要求用匿名类实现。

package test;

import java.util.*;

public class test1 {

public static void main(String args[]){

Computable p1 = new Computable(){

double a,b;

{

Scanner reader = new Scanner(System.in);

a = reader.nextDouble();

b = reader.nextDouble();

}

public double computable(){

return a+b;

}

};

Computable p2 = new Computable(){

double a,b;

{

Scanner reader = new Scanner(System.in);

a =

reader.nextDouble();

b =

reader.nextDouble();

}

public double computable(){

return a*b;

}

};

ToComputable(p1);

ToComputable(p2);

}

static void

ToComputable(Computable c){

System.out.println(https://www.360docs.net/doc/b58853111.html,putable( ));

}

}

interface Computable{

double computable();

}

java实验五

实验五:循环结构与数组 一、实验目的 1.掌握一维数组的概念、定义和使用 2.掌握数组与循环结构的联合使用 二、实验内容 1、随机产生20个0到100的整数,求最大值及其下标、最小值及其下标、平均值,并显示数组的所有元素值(按每行输出5个元素)以及最大值及其下标、最小值及其下标和平均值。 【提示】 产生随机数的方法:double number=Math.random( );(number以属于[0,1)) 提示代码: public class ArrayEx1 { public static void main(String arge[]){ int maxi=0,sum=0,aver; int []number; number= new int[20]; for(int i=0;i<20;i++){ number[i]=(int)(101*Math.random()); System.out.print(number[i]+" "); //如何五个打一行! } System.out.println(); for(int i=0;i<20;i++) { sum=sum+number[i]; if(number[maxi]

JAVA实验五

实验名称:实验5:Java 中的接口、匿名类和异常 班级:姓名:学号: 一、实验目的 熟悉Java 中的接口、匿名类和异常。 二、实验内容与结果 (说明:按实验任务分别填写任务描述、处理思路及关键技术说明、程序源码和运行结果截图,不要心得与体会。) 任务1:编写应用程序,从命令行输入两个小数参数,求它们的商。要求程序中捕获NumberformatException异常和ArithmeticException异常。 package test; import java.util.*; public class test1 { public static void main(String args[]){ try{ System.out.println(shang()); } catch(NumberFormatException e){ System.out.println(e.getMessage( )); } catch(ArithmeticException e){ System.out.println(e.getMessage( )); } } static double shang(){ Scanner reader = new Scanner(System.in); String a,b; a = reader.next(); b = reader.next(); return Double.parseDouble(a)/Double.parseD ouble(b); } } 任务2:设计一个训练场,这个训练场专门训练海豚,使它们能够跳舞dance ()和发出“呼呼”的声音cry(),要求用内部类实现。 package test; import java.util.*; public class test1 { public static void main(String args[]){ training p = new training(); System.out.println(p.p.dance()); System.out.println(p.p.cry()); } } class training{ dolphin p; training(){ p = new dolphin(); } class dolphin{ String dance(){ return"dance"; } String cry(){

实验五java项目开发实例

实验五Java项目开发实例 实验目的: 掌握运用RAD开发Java应用程序 目标要求: 1.掌握运用Visual Editor创建窗口应用程序 2.掌握通过JDBC连接数据库 内容简介: 本章将介绍MyLibrary的 GUI应用程序。 实验说明: 第一节创建GUI应用程序 1.添加JDBC环境变量 在菜单栏点击“文件 -> 新建 -> 项目”,选择“Java项目”,点击“下一步”。 输入项目名称“MyLibraryGUI”,点击“下一步”。 在Java设置中选择“库”栏,点击“添加变量”。在“新建变量类路径条目”对话框

中点击“配置变量” 在“类途径变量”对话框中点击“新建”按钮,会弹出“新建变量条目”对话框。在“名称”栏中输入“CLOUDSCAPE_DRIVER_JAR”,然后点击“文件”按钮,找到D:/Program Files/IBM/Rational/SDP/runtimes/base_v6/cloudscape/lib/,如下图: 点击“确定”。再次点击“确定”。在弹出对话框点击“是”。 在“新建变量类路径条目”窗口中选择 ,点击“确定”。

这样就在MyLibraryGUI项目里添加了Cloudscape 的JDBC驱动。点击“完成”按钮。 2.新建可视类(Visual Class) 在菜单栏选择“文件 -> 新建 -> 其它 -> Java -> 可视类”,点击“下一步”。 在“Java类”窗口,“包”文本框输入,“名称”文本框输入“MyLibraryDesktopApp”,“样式”选择“Swing -> 框架”(选择后“超类”变成),点击“接口”右侧的“添加”,输入ActionListener,点击“确定”。勾选“pulibc static void main(String[] args)”,点击“完成”

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

Java实验五

实验五继承、抽象类和接口 学号 6 姓名刘顺专业网络工程成绩 【实验目的与要求】 1、掌握Java中类的继承、变量继承、方法继承的思想和使用; 2、理解和掌握java中多态性的覆写和重载的区别和用法; 3、掌握抽象和接口的工作机制和用法; 4、实验后及时总结、归纳、分析,并完成实验报告。 【实验内容与要求】 1、继承和覆盖的使用 (1)编写Employee雇员类,在该类中定义了3个域:name表示员工姓名,salary表示员工的工资,work表示工作:“编写程序”,并分别为它们定义了set和get方法。 (2)编写Manager经理类,该类继承自Employee雇员类。在该类中,定义了一个bonus域,表示经理的奖金,重写work方法:“管理项目”。 (3)在主类中,创建Employee雇员和Manager经理对象,并为其赋值,输出其信息。 2、抽象类的定义和使用 (1)定义抽象类Aniaml动物抽象类,通过构造方法得到动物名字并输出;定义抽象方法shout()表示叫声;定义抽象方法eat()表示吃食。 (2)定义Cat类继承自Animal类,调用父类的构造方法输出猫的名字信息。实现抽象方法shout(“猫叫:喵喵喵!”) ;实现抽象方法eat(“猫喜欢吃:鱼”)。 (3)定义Dog类继承自Animal类,调用父类的构造方法输出狗的名字信息。实现抽象方法shout(“狗叫:汪汪汪!”) ;实现抽象方法eat(“狗喜欢吃:骨头”)。 (4)在主方法中,实例化“小猫”和“小狗”,并向上转型赋给Aniaml类变量Animal ani =new Cat("小猫"); 分别调用ani的shout()和eat()方法。 3、接口的定义和使用 (1)定义一个USB接口标准,定义2个抽象方法:USB设备信息显示show();USB设备开始工作start();USB 设备停止工作stop(); (2)定义U盘子类,class Flash implements USB实现USB接口标准,实现方法:USB接入产品信息show (“USB设备已经接入”);设备启动信息start(“USB设备已经启动”);设备停止动作信息stop(“USB设备已经停止”); (2)定义打印机子类,class Print implements USB实现USB接口标准,实现方法:打印机接入产品信息show

Java实验五

实验五继承、抽象类和接口 学号201617406 姓名刘顺专业网络工程成绩 【实验目的与要求】 1、掌握Java中类的继承、变量继承、方法继承的思想和使用; 2、理解和掌握java中多态性的覆写和重载的区别和用法; 3、掌握抽象和接口的工作机制和用法; 4、实验后及时总结、归纳、分析,并完成实验报告。 【实验内容与要求】 1、继承和覆盖的使用 (1)编写Employee雇员类,在该类中定义了3个域:name表示员工姓名,salary表示员工的工资,work表示工作:“编写程序”,并分别为它们定义了set和get方法。 (2)编写Manager经理类,该类继承自Employee雇员类。在该类中,定义了一个bonus域,表示经理的奖金,重写work方法:“管理项目”。 (3)在主类中,创建Employee雇员和Manager经理对象,并为其赋值,输出其信息。 2、抽象类的定义和使用 (1)定义抽象类Aniaml动物抽象类,通过构造方法得到动物名字并输出;定义抽象方法shout()表示叫声;定义抽象方法eat()表示吃食。 (2)定义Cat类继承自Animal类,调用父类的构造方法输出猫的名字信息。实现抽象方法shout(“猫叫:喵喵喵!”) ;实现抽象方法eat(“猫喜欢吃:鱼”)。 (3)定义Dog类继承自Animal类,调用父类的构造方法输出狗的名字信息。实现抽象方法shout(“狗叫:汪汪汪!”) ;实现抽象方法eat(“狗喜欢吃:骨头”)。 (4)在主方法中,实例化“小猫”和“小狗”,并向上转型赋给Aniaml类变量Animal ani =new Cat(" 小猫"); 分别调用ani的shout()和eat()方法。 3、接口的定义和使用 (1)定义一个USB接口标准,定义2个抽象方法:USB设备信息显示show();USB设备开始工作start();USB 设备停止工作stop(); (2)定义U盘子类,class Flash implements USB实现USB接口标准,实现方法:USB接入产品信息show (“USB设备已经接入”);设备启动信息start(“USB设备已经启动”);设备停止动作信息stop(“USB设备已经停止”); (2)定义打印机子类,class Print implements USB实现USB接口标准,实现方法:打印机接入产品信息show (“打印机已经接入”);设备启动信息start(“打印机已经启动”);设备停止动作信息stop(“打印机已经停止”); (3) 定义Computer类,定义插入USB方法plugin(USB usb) ,调用接口方法,实现接口功能。 (4) 在主类中定义Computer 的对象,分别调用方法plugin(USB Flash)表示插入Flash优盘,plugin(USB print) 表示插入打印机。 【实验过程与结果】 实验1: 实验程序 class Employee{ //父类(员工类) private String name; //私有成员变量姓名 private double salary; //私有成员变量工资 private String work; //私有成员变量工作 //成员变量赋值 public void setname(String name){ https://www.360docs.net/doc/b58853111.html,=name; }

实验五Java项目开发实例

实验五Java项目开发实例 令狐采学 实验目的: 掌握运用RAD开发Java应用程序 目标要求: 1.掌握运用Visual Editor创建窗口应用程序 2.掌握通过JDBC连接数据库 内容简介: 本章将介绍MyLibrary的GUI应用程序。 实验说明: 第一节创建GUI应用程序 1.添加JDBC环境变量 在菜单栏点击“文件-> 新建-> 项目”,选择“Java项目”,点击“下一步”。 输入项目名称“MyLibraryGUI”,点击“下一步”。 在Java设置中选择“库”栏,点击“添加变量”。在“新建变量类路径条目”对话框中点击“配置变量”

在“类途径变量”对话框中点击“新建”按钮,会弹出“新建变量条目”对话框。在“名称”栏中输入“CLOUDSCAPE_DRIVER_JAR”,然后点击“文件”按钮,找到D:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v6/cloudscape/lib/db2 j.jar,如下图: 点击“确定”。再次点击“确定”。在弹出对话框点击“是”。 在“新建变量类路径条目”窗口中选择 ,点击“确定”。 这样就在MyLibraryGUI项目里添加了Cloudscape 的JDBC驱动。点击“完成”按钮。 2.新建可视类(Visual Class) 在菜单栏选择“文件-> 新建-> 其它-> Java -> 可视类”,点击“下一步”。 在“Java类”窗口,“包”文本框输入mlg.library.gui,“名称”文本框输入“MyLibraryDesktopApp”,“样式”选择“Swing -> 框架”(选择后“超类”变成javax.swing.JFrame),点击“接口”右侧的“添加”,输入ActionListener,点击“确定”。勾选“puli bc static void main(String[] args)”,点击“完成” 在如下图的工作台中,点击1里的下三角箭头,将源代码区域最小化,点击2里的三角箭头使得选用板总是可见,将3处拉

java实验五

实验5 封装 一、实验目的 1、掌握java中方法的定义; 2、掌握java方法使用实例变量; 3、掌握封装的方法; 二、实验学时 2 学时 三、实验内容 1、在实验4的基础上执行封装: ①用privae修饰实例变量 name(String 类型);//用于存放姓名; age(int);//用于存放年龄; height(double); // 身高,单位:米 weight(double); // 体重,单位:kg 程序: private String name; private int age; private double height; private double weight; ②为每个实例变量加上getter/setter 程序: package person; public class person { private String name; private int age; private double height; private double weight; public void setName(String n) { name = n; } //set方法

public String getName() { return name; } //get方法 public void setAge(int a) { if (a < 0 || a > 150) { throw new IllegalArgumentException("非法的年龄值:" + a); //System.out.println("非法的年龄值:" + a); } else { age = a; //系统自动生成代码时,会将实际变量与局部变量区别开} } public int getAge() { return age; } public void setHeight(double h) { height = h; } public double getHeight() { return height; } public void setWeight(double w) { if ( w< 0 || w > 150) { throw new IllegalArgumentException("非法的体重值:" + w); //System.out.println("非法的体重值:" + a); } else { weight = w; //系统自动生成代码时,会将实际变量与局部变量区别开} } public double getWeight() { return weight; } public void info() { System.out.println(name+","+age+",身高"+height+",体重"+weight); } } 3、在Person类中添加名为calcBMI的方法,用于计算并返回个人的BMI值,方法头如下public double calcBMI() 注:首先写一个person的类,并在里面添加calcBMI方法,再写一个测试类计算BMI 程序一:

java实验五(题目、解析及实例代码)

实验五 1.(方法重载) 1)编写一个方法实现两个整数的加法运算; 2)编写一个方法实现三个整数的加法运算; 3)在主方法中分别调用两个方法计算两个整数、三个整数的和。 答题解析:此题考查方法的重载(方法同名不同参) 实例代码: package test5; import java.util.Scanner; public class t1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n; while (true) { System.out.println("请选择具体操作:\n输入1:两个加数的和\n输入2:3个加数的和\n输入0:退出"); n = in.nextInt(); if (n == 0) break; if (n == 1) { System.out.println("请输入两个加数(整数):"); int n1 = in.nextInt(); int n2 = in.nextInt(); System.out.println(n1 + "+"+ n2 + "的和为:"+ sum(n1, n2)); } if (n == 2) { System.out.println("请输入三个加数(整数):"); int n1 = in.nextInt(); int n2 = in.nextInt(); int n3 = in.nextInt(); System.out.println(n1 + "+" + n2 + "+" + n3 + "的和为:" + sum(n1, n2, n3)); } } } public static int sum(int n1, int n2) { return n1 + n2;

Java实验五

实验五包、接口、类库与向量类 一、实验目的 (1)掌握创建包与引用包的方法; (2)掌握用接口实现多重继承的机制; (3)熟悉向量类的引入和使用。 二、实验内容 1.基本指导 指导内容1: 包的创建和引用。 实验步骤: (1)开机后,在java实验目录下创建test5子目录。本阶段的Java源程序都放在这个子目录中。字节码文件则根据建包的情况放在test5相应的子目录中。 (2)打开一个纯文本编辑器,输入如下的代码: (3)将文件命名为DefiPackage.java,保存在java实验目录的test5子目录下。 (4)打开MS-DOS窗口,转到DefiPackage.java所在的目录,键入命令:javac -d . DefiPackage.java (5)键入Dir 命令,可以看到在test5子目录下创建了p1的子文件夹。接着键入下面的命令以查看p1下的文件,可以看到DefiPackage.class存储在此文件夹下。 cd p1 dir (3)、(4)、(5)的操作步骤如图5-1所示。

图5.1 (6)在另一个文件中输入如下的代码: (8)编译并运行该程序,程序的运行结果如图5.2所示 图5.2 (9)在文件TestPackage.java中加入包定义语句:[package p2;],重新正确地编译和运行该程序,从中理解包的概念。 指导内容2: 创建两个Vector类,分别记录凭证的名称和日期。并根据给定的凭证日期,查询满足条件的凭证名称,或根据给定的凭证名称,查询凭证的日期。 实验步骤:

(1)打开一个纯文本编辑器,输入如下的代码: (2)将文件命名为CreateVector.java,保存在java实验目录的test5子目录下。(3)编译并运行该程序,程序的运行结果如图5-3所示。 图5-3 (5)重新编译并运行该程序,程序的运行结果如图5-4所示。 图5-4 (6)继续添加代码,查询当给定凭证名称为“收款凭证002”时的凭证日期。2.练习思考

Java实验五 线程

实验五线程 一实验要求 1、理解进程和线程概念; 2、掌握创建、管理和控制Java线程对象的方法; 3、了解并发执行的多线程存在的各种关系 二实验内容 1、使用线程对象或Timer定时器制作数字时钟标签组件,显示当前日期和时间,每秒刷新,将该标签添加到框架窗口。 (一): 线程对象 (1)源码: package com.exp5; import java.awt.*; import java.text.*; import java.util.*; import javax.swing.*; public class Pro extends JFrame implements Runnable{ JPanel jp=null; JLabel lb=null; Date date=new Date(); String myString; @Override public void run() { // TODO Auto-generated method stub while(true){ try { SimpleDateFormat mydate = new SimpleDateFormat("yyyy - MM - dd HH:mm:ss"); lb.setText(mydate.format(Calendar.getInstance().getTime())); Thread.sleep(1000); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public Pro(){

java上机实验答案与解析

JAVA上机实验题答案与解析 实验一Java程序编程 1.编写一个Java应用程序,输出内容为Hello!。 注:文件位置位于e:\2:\Hello.java 编译:(1)e:(2)cd 2 (3)javac Hello.java(4)java Hello 2.编写一个Java小应用程序,输出内容为我一边听音乐,一边学Java。 第一步编写 import java.awt.*; import java.applet.*; public class MyApplet extends Applet{ public void paint(Graphics g){ g.drawString("我一边听音乐,我一边做java",25,25); } } 第二步在DOS环境中编译(....javac MyApplet.java) 第三步使用记事本编写 第四步将记事本文件名命名为MyApplet.html 第五步打开MyApplet.html 实验二类的定义 1.编写Java应用程序,自定义Point类,类中有两个描述坐标位置的double变量x,y,利用构造方法,实现对Point 对象p1,p2初始化,p1和p2对应坐标分别为(15,20),(10,30);定义方法getX(),getY()分别获得点的横坐标和纵坐标;定义方法setX(),setY()分别获得点的横坐标和纵坐标;并且把p1和p2输出; public class Point { double x,y; Point(double x,double y){ this.x=x; this.y=y; } double getX(){ return x; } double getY(){

java实验5

面向对象原理与Java实践课程实验报告 实验5:网络编程 姓名:_ 班级:计算机12-2班_学号:_ 成绩:__ 一、实验目的: ●掌握通过URL类获得指定网络资源内容和文件属性 ●理解流在获得文件内容中的作用 ●掌握进行Socket通信的程序设计办法 ●掌握GUI编程 二、实验要求: ●熟悉用URL访问网络资源的方法和Socket通信原理 ●掌握基本流类的使用方法 ●掌握文件操作的基本方法 三、实验内容: 1、指定不同协议的URL地址,获得资源文件的内容和属性 2、实现“聊天室”程序,除具备基本的发送与接收信息功能之外,增加以下功能: (1)增加上线功能。离线后,将【离线】按钮变成【上线】按钮,单击可再次申请建立连接。 (2)将文本区中对方和己方的字符串以不同的字体区别显示。 (3)发送带格式的字符串。 (4)增加复制功能,将文本区中的若干选中字符串复制到文本行中。 (5)增加若干图标作为表情,发送表情图标。 (6)增加对方信息到达时的语音提示。 (7)将聊天记录存储到文件中。 四、设计思路: 1、指定不同协议的URL地址,获得资源文件的内容和属性 (1)通过URL将网上资源文件的信息,并保全到“my.java”文件; (2)通过FileReader和BufferedReader读取文件中的内容; (3)通过getPath()读取文件路径;canRead()判断文件是否可读;canWrite()判断文件是否可写入;getName()获取文件名;length()读取文件长度; 2、“聊天室”程序 (1)服务端使用了线程池,当accept()监听到用户使用服务端,就给用户创建一个线程。 (2)客户端中包含有ChatClient()构造函数实现客户端的图形界面;saveFile()保存用户的聊天记录;readRecord()浏览该用户聊天记录;offline()实现用户的离线功能;online()实现用户的上线功能;shutdown()实现用户退出聊天室的功能;connect()实现客户端与服务端的连接;用Toolkit中的beep()实现信息到达时的语音提示。 五、程序源代码:

实验五 Java事件处理

实验五 Java事件处理 实验目的 1.掌握Java语言中的事件处理方法 2.掌握Java语言中事件源、监视器和处理事件的接口的概念 实验内容 1.图形用户界面设计程序(ArtFont.java) 在实验三第1题的基础上,添加事件处理机制,并逐步完善程序功能。分别用ArtFont类的对象做监视器和匿名内部类的对象做监视器实现。 要求实现如下功能: 当在文本框中输入文字后回车,在文本域中显示输入的文字。 当分别选择粗体和斜体复选框时,文本域中的文字分别显示粗体和斜体样式。 当点击颜色按钮时,出现颜色选择对话框,选择需要的颜色,按确定按钮后, 按钮的前景色和文本域的前景色设置为选定的颜色。 当选择字体样式下拉框中的某一字体样式时,文本域中的文字设置为指定的字 体样式。 当选择字体大小下拉框中的某一字体大小时,文本域中的文字设置为指定的字 体大小。 当选择窗体样式下拉框中的某一窗体效果时,窗体外观改变为指定的窗体外观。 图1 程序界面运行效果 package Sy;

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ArtFont extends JFrame { static ArtFont artFont; JComboBox fontType;//字体样式下拉框 JComboBox fontSize;//字体大小下拉框 JComboBox windowStyle;//窗体样式下拉框JCheckBox boldBx;// 粗体按钮 JCheckBox italicBx;// 斜体按钮 JButton colorBtn;// 颜色按钮 String[] fontNames;// 字体名称 String[] fontSizes;// 字体大小 JLabel label;// 输入提示标签 JTextField inputText;// 文字输入框 JTextArea txtArea;// 文字显示区 JPanel northPanel;// 字体设置 JPanel centerPanel;// 显示效果区 JPanel southPanel;//样式设置

云南大学软件学院Java实验五

云南大学软件学院 实验报告 姓名:定欢学号:20141120188 班级:日期:2016年10月20日成绩: JAVA实验五 一、实验目的: Applying OO Concepts Using Java 二、实验要求: Create a class called Circle.java with fields named radius(半径), area(面积), and diameter(直径). Include methods named setRadius(), getRadius(), and computeDiameter(), which calculates the circle's diameter, and computeArea(), which computes the circle's area. Hint: diameter of a circle is twice its radius. Hint: area of a circle is 3.14 multiplied by the square of the radius. Create a class called TestCircle. java whose main method declares 2 Circle objects. Using setRadius() method, assign one Circle a small radius value and assign another a larger radius value. Call computeDiameter() and computeArea for each circle and display the results. Output result of using command input "5 8": The area of a is 78.5 The diameter of a is 10.0 The area of b is 200.96 The diameter of b is 16.0 三、实验内容: 1、Circle.java

Java实验五继承与多态

实验五继承与多态 一、实验目的 1.掌握抽象类的声明; 2.掌握多态的执行机理; 3.掌握上转型的使用; 4.掌握构造方法的执行机理; 5.面向抽象的编程; 二、实验内容 1.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生, 如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。 (2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 (4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。 2.假定要为某个公司编写雇员(40个雇员)工资支付程序,这个公司有各种类型 的雇员(Employee),不同类型的雇员按不同的方式支付工资: (1)经理(Manager)——每月获得一份固定的工资 (2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。(3)一般工人(Worker)——则按他每月工作的天数计算工资。 根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。(用对象数组) 三、实验报告涉及以下内容 1.继承中父子构造方法的执行关系 2.重写 3.super的应用 4.上转型 5.多态

相关文档
最新文档