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

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


你可能感兴趣的:(java,屏幕打印)