IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java练习-打印各类图形 -> 正文阅读

[Java知识库]Java练习-打印各类图形

大家好呀!是我是我是我你们的朋友一点都不秃的丝瓜藤~

废话不多说,上代码哈哈哈!这次是关于各种图形的打印,咱就是说啊~Java世界里奇奇怪怪的形状真可爱~

今天的图形打印有:

1.线段打印

?2.打印正方形

①简单正方形

②空心正方形

3.打印三角形

①左直角三角形

②右直角三角形

③倒立直角三角形

④空心直角三角形

4.打印金字塔

①正金字塔

②倒立金字塔

5.打印菱形

6.打印K形

7.打印箭形

8.打印斜线

①正斜线

②反斜线

9.打印X图形


1.线段打印

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。

输入描述:多组输入,一个整数(1~100),表示线段长度,即“*”的数量。

输出描述:针对每行输入,输出占一行,用“*”组成的对应长度的线段。

代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int i = sc.nextInt();
                for(int n=0;n<i;n++){
                    System.out.print("*");
                }
                System.out.println();
            }sc.close();
        }
    }

?2.打印正方形

①简单正方形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正方形图案。

输入描述:多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的对应边长的正方形,每个“*”后面有一个空格。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int i = sc.nextInt();
                for(int n=0;n<i;n++){
                   for(int m=0;m<i;m++){
                       System.out.print("* ");
                   }
                    System.out.println();
                }
            }sc.close();
        }
    }

②空心正方形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”正方形图案。

输入描述:多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。

输出描述:针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //空心正方形n
                for (int i=0;i<n;i++) {
                    for (int j=0;j<n;j++) {
                        if ( i == 0 ) {
                            System.out.print("* ");
                        }
                        else if (i == n-1) {
                            System.out.print("* ");
                        }
                        else if (j == 0 || j ==n-1) {
                            System.out.print("* ");
                        }
                        else {
                            System.out.print("  ");
                        }
                    }
                    System.out.println();
                }
            }sc.close();
        }
    }

3.打印三角形

①左直角三角形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的直角三角形图案。

输入描述:多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

?代码分享:


public class Main {
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //打印直角三角形
                if(n>=2&&n<=20){
                    for(int i=1;i<=n;i++){
                        for(int k=1;k<=i;k++){
                            System.out.print("* ");
                        }
                        System.out.println();
                    }
                }

            }sc.close();
        }
    }

②右直角三角形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。

输入描述:多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //打印直角三角形
                if(n>=2&&n<=20){
                    for(int i=1;i<=n;i++){
                        for(int k=n;k>i;k--){
                            System.out.print("  ");
                        }
                        for (int j =1; j <=i; j++) {
                            System.out.print("* ");
                        }
                        System.out.println();
                    }
                }

            }sc.close();
        }
    }

③倒立直角三角形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。

输入描述:多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。

代码分享:

public class Main {
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //打印倒立直角三角形
                if(n>=2&&n<=20){
                    for(int i=1;i<=n;i++){
                        for(int k=n;k>=i;k--){
                            System.out.print("* ");
                        }
                        System.out.println();
                    }
                }

            }sc.close();
        }
    }

④空心直角三角形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”三角形图案。

输入描述:多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。

输出描述:针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //打印空心直角三角形
                if(n>=3&&n<=20){
                    for(int i=1;i<=n;i++){
                        for(int k=1;k<=i;k++){
                           if(i==1||i==n){
                               System.out.print("* ");
                           }else if(k==1||k==i){
                               System.out.print("* ");
                           }else{
                               System.out.print("  ");
                           }
                        }
                        System.out.println();
                    }
                }

            }sc.close();
        }
    }

4.打印金字塔

①正金字塔

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的金字塔图案。

输入描述:多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();   //打印正金字塔
                if(n>=2&&n<=20){
                    for(int i=1;i<=n;i++){
                        for(int k=n;k>i;k--){
                            System.out.print(" ");
                        }
                        for (int j =1; j <=i; j++) {
                            System.out.print("* ");
                        }
                        System.out.println();
                    }
                }
            }sc.close();
        }
    }

②倒立金字塔

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。

输入描述:多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。

输出描述:针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。

?代码分享:

public class Main {
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int n= sc.nextInt();
                if(n>=2&&n<=20){
                    for(int i=n;i>0;i--){
                        for(int k=n;k>i;k--){
                            System.out.print(" ");
                        }
                        for (int j =i; j > 0; j--) {
                            System.out.print("* ");
                        }
                        System.out.println();
                    }
                }
            }sc.close();
        }
    }

5.打印菱形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的菱形图案。

输入描述:多组输入,一个整数(2~20)。

输出描述:针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。

?代码分享:

public class Main{
    public static void main(String[] args) {
        java.util.Scanner sc = new java.util.Scanner(System.in);
        while(sc.hasNext()){
            int m= sc.nextInt();   //打印菱形
            int n=m+1;
            if(m>=2&&m<=20){
                for(int i=1;i<=n;i++){
                    for(int k=n;k>i;k--){
                        System.out.print(" ");
                    }
                    for (int j =1; j <=i; j++) {
                        System.out.print("* ");
                    }
                    System.out.println();
                }
                for(int i=n-1;i>0;i--){
                    for(int k=n;k>i;k--){
                        System.out.print(" ");
                    }
                    for (int j =i; j > 0; j--) {
                        System.out.print("* ");
                    }
                    System.out.println();
                }
            }
        }sc.close();
    }
}

6.打印K形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。

输入描述:多组输入,一个整数(2~20)。

输出描述:针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。

?代码分享:


import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int m = sc.nextInt();
            int n=m+1;
            if (n >= 3 && n <= 20) {
                for(int i=1;i<=m;i++){
                    for(int k=n;k>=i;k--){
                        System.out.print("* ");
                    }
                    System.out.println();
                }
                for(int i=1;i<=n;i++){
                    for(int k=1;k<=i;k++){
                        System.out.print("* ");
                    }
                    System.out.println();
                }

            }

        }
    }
}


7.打印箭形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的箭形图案。

输入描述:本题多组输入,每行一个整数(2~20)。

输出描述:针对每行输入,输出用“*”组成的箭形。

?代码分享:


import java.util.*;
public class Main {
            public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);
                while (scanner.hasNext()){
                    int m=scanner.nextInt();
                    int n=m+1;
                    if(m>=2&&m<=20){
                        for(int i=1;i<=n;i++){
                            for(int k=n;k>i;k--){
                                System.out.print("  ");
                            }
                            for (int j =1; j <=i; j++) {
                                System.out.print("*");
                            }
                            System.out.println();
                        }
                        for(int i=m;i>0;i--){
                            for(int k=n;k>i;k--){
                                System.out.print("  ");
                            }
                            for (int j =i; j > 0; j--) {
                                System.out.print("*");
                            }
                            System.out.println();
                        }

                    }
                }
    }
}

8.打印斜线

①正斜线

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正斜线形图案。

输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“*”的数量。

输出描述:针对每行输入,输出用“*”组成的正斜线。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int i = sc.nextInt();
                for(int n=i;n>0;n--){
                    for(int m=1;m<=i;m++){
                        if(m==n){
                            System.out.print("*");
                        }else{
                            System.out.print(" ");
                        }

                    }
                    System.out.println();
                }
            }sc.close();
        }
    }

②反斜线

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。

输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“*”的数量。

输出描述:针对每行输入,输出用“*”组成的反斜线。

?代码分享:

public class Main{
        public static void main(String[] args) {
            java.util.Scanner sc = new java.util.Scanner(System.in);
            while(sc.hasNext()){
                int i = sc.nextInt();
                for(int n=1;n<=i;n++){
                    for(int m=1;m<=i;m++){
                        if(m==n){
                            System.out.print("*");
                        }else{
                            System.out.print(" ");
                        }

                    }
                    System.out.println();
                }
            }sc.close();
        }
    }

9.打印X图形

题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。

输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述:针对每行输入,输出用“*”组成的X形图案。

?代码分享:

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        //用户输入数字以创建同样大小的二维数组
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {//使循环输入
            int x = sc.nextInt();
            if(x>=2&&x<=20){
            char[][] arr = new char[x][x];
            //设置数组全为空格
            for (int i = 0; i < x; i++) {
                for (int j = 0; j < x; j++) {
                    arr[i][j] = ' ';
                }
            }

            //利用下标设置*
            for (int i = 0; i < x; i++) {
                int left = 0;
                int right = x - 1;
                for (; left < x && right >= 0; left++, right--) {
                    arr[i][i] = '*';
                    arr[left][right] = '*';
                }
            }

            //打印数组
            for (int i = 0; i < x; i++) {
                for (int j = 0; j < x; j++) {
                    System.out.printf("%c", arr[i][j]);
                }
                System.out.println();
            }
        }
        }
    }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:12:19  更:2021-11-23 12:13:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:52:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码