栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java用“*”输出三角形、六边形、空心菱形、“拱门”

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java用“*”输出三角形、六边形、空心菱形、“拱门”

目录

一 用“*”输出三角形

二 用“*”输出六边形

三 用“*”输出空心菱形

四 用“*”输出“拱门”


一 用“*”输出三角形
public class Test {
    public static void main(String[] args) {
        java.util.Scanner w = new java.util.Scanner(System.in);
        System.out.print("请输入一个正整数:");
        int line = w.nextInt();
//        用最外层for循环控制行数
        for (int x = 1; x <= line; x++) {
//            控制三角形旁边的空格数量
            for (int i = 1; i <= line - x; i++) {
                System.out.print(" ");
                System.out.print(" ");
            }
//            将三角形分为左右两个部分,首先输出左边,
//            由第一行往下依次输出甲乙
            for (int j = 1; j <= x; j++) {
                System.out.print("*");
                System.out.print(" ");
            }
//            输出右边三角形,k<=x-1控制第一行不输出,
//            以后每行比左边输出少一个
            for (int k = 1; k <= x - 1; k++) {
                System.out.print("*");
                System.out.print(" ");
            }
//            每行输出完成,进行换行
            System.out.println("");
        }
    }
}

 二 用“*”输出六边形
public class Test  {
    public static void main(String[] args) {
        int line = 8;
//        输出六边形可以将其分为上梯形和下梯形
//        用最外层for循环控制行数,这里由于输出六边形,
//        所以x初始值从3开始
        for (int x = 3; x <= line; x++) {
//          控制梯形旁边的空格数量
            for (int i = 1; i <= line - x; i++) {
                System.out.print(" ");
            }
//            和三角形相同输出左右星星
            for (int j = 1; j <= x; j++) {
                System.out.print("*");
            }
            for (int k = 1; k <= x; k++) {
                System.out.print("*");
            }
//            每行输出完成换行
            System.out.println("");
        }
//        控制行数,增大最小值,使得呈现梯形
        for (int x = line; x >= 3; x--) {
            for (int i = line-x; i >= 1; i--) {
                System.out.print(" ");
            }
//            需要倒立输出,所以星星数由大到小
            for (int j = x; j >= 1; j--) {
                System.out.print("*");
            }
            for (int k = x; k >= 1; k--) {
                System.out.print("*");
            }
            System.out.println("");
        }

    }
}

三 用“*”输出空心菱形
public class Test {
    public static void main(String[] args) {
        int line = 9;
//        空心菱形依旧分为上下部分
//        控制上半部分行数
        for (int x = 1; x <= line; x++) {
//            控制菱形左侧空格数量
            for (int i = 1; i <= line - x; i++) {
                System.out.print(" ");
            }
//            上半部分也可以分为左右两边,
//            由于是空心菱形,所以左边每行只需要输出一个星星,其余输出空格
            for (int j = 1; j <= x-1; j++) {
                if (j==1){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
//            右侧部分则是全部输出空格,再换行时输出一个星星即可
            for (int k = 1; k <= x-1; k++) {
                System.out.print(" ");
            }
            System.out.println("*");
        }
//        菱形下半部分与上面同理
        for (int x = line-1; x >= 1;x--){
            for (int i = line-x-1; i >= 0; i--) {
                System.out.print(" ");
            }
            for (int a = x; a > 1;a--) {
                if (a == x){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            for(int b = x-1; b >= 1;b--){
                System.out.print(" ");
            }
            System.out.println("*");
        }
    }
}

 

 四 用“*”输出“拱门”
public class Test {
    public static void main(String[] args) {
//        此方法是将其分为左右两部分进行输入
//        控制总的行数
        for (int x = 1; x <= 8; x++) {
//            左侧直接进行星星依次逐行输出
            for (int i = 1; i <= 8 - x; i++) {
                System.out.print("*");
            }
            for (int j = 1; j <= x-1; j++) {
//            用于输出中间连接出的一个星星
                if(j == 1){
                    System.out.print("*");
                }
//                输出用于间隔开右边三角形
                System.out.print(" ");
            }
//            输出空格,用于间隔右边三角形
            for (int k = 1; k <= x-2 ; k++) {
                System.out.print(" ");
            }
//            右侧星星输出
            for(int m = 0;m <= 8-x ; m++){
                System.out.print("*");
            }
            System.out.println("");
        }

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024248.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号