JAVA【案例4-1】打印不同的图形

【打印不同的图形】

1、案例描述

本案例要求编写一个程序,可以根据用户要求在控制台打印出不同的图形。例如,用户自定义半径的圆形和用户自定义边长的正方形。

2、案例目的

(1)学会分析“打印不同的图形”案例的实现思路

(2)完成“打印不同的图形”案例的代码编写、编译及运行

(3)掌握抽象类的应用

(4)掌握方法的重写

(5)掌握继承的概念及其应用

3、运行结果

4、实现代码

package cn.itcast.example;

import java.util.Iterator;

abstract class MyPoint{
	public abstract void show();
}
//打印正方形
class MyPrintSquare extends MyPoint{
	@Override
	public void show() {
		for(int i = 0; i<5;i++) {
			for(int j = 0;j<5;++j) {
				if(j==0||j==4)
					System.out.print('*');
				else if (i==0||i==4) 
					System.out.print('*');
				else System.out.print(' ');
			}
			System.out.println();
		}
	}
}
//打印圆形
class MyPrintCircle extends MyPoint{
	@Override
	public void show() {
		for(int y = 0;y<=2*5;y+=2) {
			int x = (int)Math.round(5-Math.sqrt(2*5*y-y*y));
			int  len = 2*(5-x);
			for(int i = 0;i<=x;i++) {
				System.out.print(' ');;
			}
			System.out.print('*');
			for(int j=0;j<=len;j++) {
				System.out.print(' ');
			}
			System.out.println('*');
		}
	}
}
public class example {
	public static void myShow(MyPoint a) {
		a.show();
	}
	public static void main (String[] arge) {
		MyPoint mp1 = new MyPrintSquare();
		MyPoint mp2 = new MyPrintCircle();
		myShow(mp1);
		myShow(mp2);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值