Java程序设计 实验3

本文包含三个编程实例:一是利用Java实现鼠标拖动绘制矩形的功能;二是定义类A和B,展示如何通过继承实现数据的输出;三是创建Circle类实现接口以计算圆的面积。
//1、修改例5.7(P95)实现在页面中拖动鼠标画出矩形,矩形的对角线为点击并拖动鼠标形成的直线线段, //源程序保存为Ex3_1.java。 //使用到的绘制矩形函数:drawRect(x,y,width,height); 其中x,y是矩形左上角的坐标,width、height是矩形的宽和高。 import java.applet.Applet; //引入包 import java.awt.*; import java.awt.event.*; //类Ex3_1继承Applet类,并实现了两个接口MouseListener,MouseMotionListener public class Ex3_1 extends Applet implements MouseListener,MouseMotionListener { int x1,y1,width,height; public void init() //初始化方法 { addMouseListener(this); //监听器 addMouseMotionListener(this); } public void paint(Graphics g) { g.drawRect(x1,y1,width,height); //画矩形 } public void mousePressed(MouseEvent e)//记录起点坐标 { x1=e.getX(); y1=e.getY(); } //实现接口定义的5个方法 public void mouseClicked(MouseEvent e){} //单击 public void mouseEntered(MouseEvent e){} //进入 public void mouseExited(MouseEvent e){} //离开 public void mouseReleased(MouseEvent e){} //放开 public void mouseDragged(MouseEvent e) //计算长宽 { width=x1+e.getX(); height=y1+e.getY(); repaint(); } public void mouseMoved(MouseEvent e){} } /*2、按如下要求编写程序,定义类A和类B及添加相应的成员变量、成员方法: 类A:两个成员变量: ? int类型变量z,赋值为 16 ; ? char类型变量x,赋值为 'A' 。 一个成员方法: ? myPrint( ):用于在屏幕上输出z和x的值。 类B:类A的子类,再定义两个成员变量: ? double类型的变量y,赋值为16.0; ? String类型的变量s,赋值为“java program”。 两个个成员方法: ? myPrint(),用于在屏幕上输出y和s的值。 ? printAll( ):分别调用父类和子类的方法myPrint( )。 编写main方法测试程序,创建B的对象b,调用printAll方法显示z、x、y、s的值。 */ class A //类A { public int z=16; public char x='A'; public void myPrint() //类A的方法 { System.out.println("z="+z); System.out.println("x="+x); } public static void main(String[] args) //主方法 { B b=new B(); //定义B类对象b b.printAll(); //调用B类定义的方法 } } class B extends A //声明类B继承父类A { private double y=16.0; private String s="java program"; public void myPrint() //类B的方法 { System.out.println("y="+y); System.out.println("s="+s); } public void printAll() //输出父类和子类的数据 { super.myPrint(); this.myPrint(); } } //3、编写程序:定义一个接口Areaable,接口中定义一个求面积的抽象方法:getArea()。 //然后声明一个类Circle实现Areaable接口,添加成员变量记录圆半径,实现接口中的方法求圆面积, //并编写main方法测试程序,创建对象,计算并输出其面积。 interface Areaable //定义接口 { double getArea(); //声明抽象方法 } public class Circle implements Areaable { final double Pi=3.14; double Radius=2; public double getArea() //定义抽象方法 { return Pi*Radius*Radius;//返回圆面积 } public static void main(String [] args) { double a; Circle c=new Circle(); //定义对象 a=c.getArea(); System.out.println("圆的面积="+a); } }

转载于:https://www.cnblogs.com/springside5/archive/2012/03/24/2486281.html

实验Java多线程 一、实验目的: 熟悉利用Thread类建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容: 1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+delay); } }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。 3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针 编写一个应用程序,创建三个线程分别显示各自的时间。 三、实验要求: 1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤: 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。 通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值