码迷,mamicode.com
首页 > 编程语言 > 详细

那些年,一起学的Java 5-3

时间:2015-03-13 01:57:32      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:java

/**5-3

 * 在Printable接口中增加一个新的PrintItMyWay(char)方法,

 * 这个方法有一个字符型的形参,返回值为空.

 * 其功能是利用给出的字符打印,例如如果给定字符为*,一个长为4

 * 宽为3的矩形的屏幕打印结果为:

 * ****

 * ****

 * ****

 **/

public class FirstProgram
{
	public static void main (String[] args)
	{
		Rectangle rectangle = new Rectangle(5, 3);
		Square square = new Square(4);
		rectangle.printItMyWay(‘*‘);
		square.printItMyWay(‘*‘);
	}
}

interface Printable
{
	void printItMyWay();
	void printItMyWay(char n);
}
 
class Rectangle implements Printable
{
	protected int length;
	protected int width;
	Rectangle ()
	{
		
	}
	Rectangle(int l, int w)
	{
		this.length = l;
		this.width = w;
	}
	void show()
	{
		System.out.println(" length: " + length + " width: " + width);
	}
	void print(char n)
	{
		int i, j;
		for (i = 0; i < width; i++)
		{
			for (j = 0; j < length; j++)
				System.out.print(" " + n + " ");
			System.out.println();
		}
		System.out.println();
	}
	int perimeter ()
	{
		return (length + width) * 2;
	}
	int area ()
	{
		return length * width;
	}
	
    public void printItMyWay()
	{
		this.show();
		System.out.println(" permiter: " + this.perimeter() + " area: " + this.area());
	}
    public void printItMyWay(char n)
    {
    	this.print(n);
    }
} 

class Square  extends Rectangle
{
	protected int side;
	Square (int side)
	{
		super();
		
		this.side = side;
	}
	void show()
	{
		System.out.println(" side: " + side);
	}
	void print(char n)
	{
		int i, j;
		for (i = 0; i < side; i++)
		{
			for (j = 0; j < side; j++)
				System.out.print(" " + n + " ");
			System.out.println();
		}
	}
	int perimeter ()
	{
		return 4 * side;
	}
	int area ()
	{
		return side * side;
	}
}


本文出自 “hacker” 博客,请务必保留此出处http://anglecode.blog.51cto.com/5628271/1619857

那些年,一起学的Java 5-3

标签:java

原文地址:http://anglecode.blog.51cto.com/5628271/1619857

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!