Java程序设计 实验3

//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);
	}
}
	

posted on 2012-03-24 19:13  1.曲待续  阅读(166)  评论(0编辑  收藏  举报

导航