博客首篇:控制台上“画”个五角星玩玩

这篇博客探讨了如何在控制台上利用编程语言输出有斜率的图形,以五角星为例,通过编写Java程序实现这一目标。作者提到了在AWT中使用Graphics对象的便利性,但在控制台上实现类似效果的挑战。文章包含一个存在bug的五角星小程序,鼓励读者发现并解决这个问题,以此作为博客的趣味开篇。
摘要由CSDN通过智能技术生成

刚开始学习语言的时候,老师都很喜欢让我们在控制台上使用“*”来输出某些图形,比如:三角形、菱形、方块什么的,这主要能让我们能更好地理解循环的语法和逻辑思维能力。

这些图形基本上都是直线的,所以在控制台上可以很方便地进行输出,不知道有没有人想过在控制台上输出一条有斜率的斜线呢?

在 AWT 上使用 Graphics 对象来做这些事的话是相当简单的,其中有内置的 drawLine 方法,告诉它 4 个点的坐标就可以很方便地在界面上画出一条斜线,但是在控制台我们如何做到这些呢?

闲着没事的时候,写了一个在控制台上输出五角星的小程序,不过这里面有点小小的 bug,bug 是什么、究竟在什么地方呢?先买个关子吧,我弄了好久头都大了不想去想了,如果发现的话或者是解决了的话,别忘记告诉我哦~~

顺便谨以此文作为博客的开篇祝贺!撒花~~

 Test.java 测试类

public class  Test {
    
public static void
 main(String[] args) {
        
// 画一个半径为10,旋转为0,空白为全身空格,填充为★的五角星

        Pentagram pen = new Pentagram(100' ''' );
        
// 在控制台上输出这个五角星

        Draw.printCanvas(pen.getPentagram());
    }

Pentagram.java 五角星类

public class  Pentagram {
    
private final char FILL_CHAR;   // 填充字符

    private final char SPACE_CHAR;  // 空档字符
    private final int R;            // 五角星的外接圆半径
    private final float ROTATION;   // 五角星逆时针旋转角度
    private final int X;            // 用于生成画图数组
    private final int Y;            // 用于生成画图数组
    
    
/**

     * 构造一个Pentagram对象
     * 
@param  radius 五角星的半径
     * 
@param
 rotation 五角星的逆时针旋转度数
     * 
@param
 spaceChar 画布上空白处填充字符
     * 
@param
 fillChar 画布上线条部分填充字符
     
*/

    
public Pentagram(int radius, float rotation, char spaceChar, char  fillChar) {
        
this.R =
 radius;
        
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值