用java实现打印各种图形总结 (包括长方形 三角形 菱形 平行四边形等)

嵌套循环:循环中还可以声明循环。相当于内层循环的整体充当外层循环的循环体

1.首先来实现一个比较简单的,在控制台打印一个长方形:
在这里插入图片描述

/**
 * 测试打印长方形
 * @author cui_yonghua  
 */
public class PintPic {
    public static void main(String[] args) {
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < 5;i++){//内层循环控制列数
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
2.下面再看打印三角形:
在这里插入图片描述

/**
 * 测试打印三角行
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
3.打印如图所示:
在这里插入图片描述

/**
 * 测试打印图形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                System.out.print("*");
            }
            System.out.println();
        }
        for(int i = 0; i < 5;i++){
            for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++)
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
4.打印如图所示:
在这里插入图片描述
可以理解为
在这里插入图片描述

/**
 * 测试打印图形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int i = 0;i < 5;i++){
            for(int k = 0;k < 4 - i;k++){
                System.out.print(" ");
            }
            for(int j = 0;j < i + 1;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
        
    }
}

控制台输出如下:
在这里插入图片描述

5.再看打印菱形,如图所示:

/**
 * 测试打印菱形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int i = 0;i < 5;i++){
            for(int k = 0;k < 4 - i;k++){
                System.out.print(" ");
            }
            for(int j = 0;j < i + 1;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
        //下半部分
        for(int i = 0;i < 4;i++){
            for(int k = 0;k < i + 1;k++){
                System.out.print(" ");
            }
            for(int j = 0;j < 4 - i;j++){
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
6.那么,打印数字菱形该怎么做呢,代码如下:

/**
 * 测试打印图形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++){
            for(int j=1;j<=5-i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=2*i-1;j++){
                System.out.print(i);
            }
            System.out.println();
        }
        for(int i=1;i<=4;i++){
            for(int j=1;j<=i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=2*(5-i)-1;j++){
                System.out.print(5-i);
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
7.若打印空心菱形,代码如下:

/**
 * 测试打印空心菱形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++){
            for(int j=1;j<=5-i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=2*i-1;j++){
                if(j==1||j==2*i-1){
                    System.out.print("*");//上半截
                }
                else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        for(int i=1;i<=4;i++){
            for(int j=1;j<=i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=2*(5-i)-1;j++){
                if(j==1||j==2*(5-i)-1){
                    System.out.print("*");
                }
                else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
}

控制台输出如下:
在这里插入图片描述
若根据用户输入的数字来打印菱形的行数,代码实现如下:

import java.util.Scanner;

/**
 * 使用for循环输出空心的菱形
 */
public class Example {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
        System.out.print("请输入菱形的行数:");
        int i = scanner.nextInt();
        printHollowRhombus(i);
    }
    public static void printHollowRhombus(int size) {
        if (size % 2 == 0) {
            size++;// 计算菱形大小
        }
        for (int i = 0; i < size / 2 + 1; i++) {
            for (int j = size / 2 + 1; j > i + 1; j--) {
                System.out.print("  ");// 输出左上角位置的空白
            }
            for (int j = 0; j < 2 * i + 1; j++) {
                if (j == 0 || j == 2 * i) {
                    System.out.print("* ");// 输出菱形上半部边缘
                } else {
                    System.out.print("  ");// 输出菱形上半部空心
                }
            }
            System.out.println("");		//换行
        }
        for (int i = size / 2 + 1; i < size; i++) {
            for (int j = 0; j < i - size / 2; j++) {
                System.out.print("  ");// 输出菱形左下角空白
            }
            for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
                if (j == 0 || j == 2 * (size - i - 1)) {
                    System.out.print("* ");// 输出菱形下半部边缘
                } else {
                    System.out.print("  ");// 输出菱形下半部空心
                }
            }
            System.out.println("");		//换行
        }
    }
}

执行结果如下图所示:
在这里插入图片描述

8.打印平行四边形:

/**
 * 测试打印平行四边形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        for(int i=0;i<=5;i++){
            for(int j=1;j<=5-i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=5;j++){
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

控制台输出如下:
在这里插入图片描述
9.若随意输出一个n,输出打印n行,代码如下:

import java.util.Scanner;
/**
 * 测试打印图形
 * @author cui_yonghua
 */
public class PintPic {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i = 1; i<=n; i++){
            //输出n-i个空格
            for(int j = 1; j<=n-i; j++){
                System.out.print(" ");
            }
            //输出2*i-1个星
            for(int j = 1; j<=2*i-1; j++){
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
    }
}

比如,随便输入一个数字6,效果如图:
在这里插入图片描述

有不到的地方欢迎大家评论指正,交流。或者加我的微信号:moyan_00008888

以下是一个示例程序,能够计算圆形、三角形、矩形和正五边形的面积: ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("选择要计算的图形:"); System.out.println("1. 圆形"); System.out.println("2. 三角形"); System.out.println("3. 长方形"); System.out.println("4. 正五边形"); int choice = scanner.nextInt(); switch (choice) { case 1: System.out.print("请输入圆的半径:"); double radius = scanner.nextDouble(); System.out.println("圆的面积为:" + Math.PI * radius * radius); break; case 2: System.out.print("请输入三角形的底边长:"); double base = scanner.nextDouble(); System.out.print("请输入三角形的高:"); double height = scanner.nextDouble(); System.out.println("三角形的面积为:" + 0.5 * base * height); break; case 3: System.out.print("请输入长方形的长:"); double length = scanner.nextDouble(); System.out.print("请输入长方形的宽:"); double width = scanner.nextDouble(); System.out.println("长方形的面积为:" + length * width); break; case 4: System.out.print("请输入正五边形的边长:"); double side = scanner.nextDouble(); System.out.println("正五边形的面积为:" + 0.25 * Math.sqrt(5 * (5 + 2 * Math.sqrt(5))) * side * side); break; default: System.out.println("输入有误!"); break; } scanner.close(); } } ``` 运行程序后,用户可以选择要计算的图形类别,程序会根据用户的选择分别计算不同图形的面积,并输出结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据知道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值