经典题:用Java打印空心菱形
经典题:用Java打印空心菱形
本题是在打印空心金字塔的基础上进行的,不会的点击下面的链接:
经典题:用Java打印空心金字塔
(1)打印无底空心金字塔
输出如下:
开始运行...
请输入层数
6** ** ** ** *
* *
运行结束。
打印空心金字塔的代码
import java.util.Scanner;
public class Stars{ public static void main(String[] args){Scanner myScanner = new Scanner(System.in);int i;int j;int k;System.out.println("请输入层数");int level = myScanner.nextInt();for (i = 1; i <= level; i++) {for (k = 1; k <= level - i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1 || i == level) {System.out.print('*');}else {System.out.print(" ");}}System.out.println();}}
}
从上面代码可知,如果想打印无底空心金字塔,我们只需要将if中i==level条件去掉。
打印空心无底金字塔的代码
import java.util.Scanner;
public class Stars{ public static void main(String[] args){Scanner myScanner = new Scanner(System.in);int i;int j;int k;System.out.println("请输入层数");int level = myScanner.nextInt();for (i = 1; i <= level; i++) {for (k = 1; k <= level - i; k++) {System.out.print(" ");}for (j = 1; j <= 2 * i - 1; j++) {if (j == 1 || j == 2 * i - 1) {System.out.print('*');}else {System.out.print(" ");}}System.out.println();}}
}
(2)打印V字形
输出案例:
开始运行...
请输入
5
* ** ** ** **运行结束。
首先,我们需要打印空格,第一行0空格,第二行1空格,第三行2空格,以此类推。
k变量表示空格,i变量表示行数,j变量表示列数,level变量表示层数。
for循环嵌套如下:
for (i = 1; i <= level; i++) {for (k = 1; k <= i - 1; k++) {System.out.print(" ");}System.out.printin();
}
然后打印V字形,我们发现如果V字形为5层,第一层打印第1个和第9个,第二层打印第1个和第7个,第三层打印第1个和第5个,第四层打印第1个和第3个,第五层打印第1个。以此类推,第i层打印第1个和第2*(5-i)+1个。
如果用level代替5,就变成j=1和j=2*(level-i)+1。这是if的判断条件,符合就打印*,不符就打印空格。
在循环中,j从1开始,到2*(level-i)+1结束。
代码如下:
import java.util.Scanner;
public class C {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);int i;int j;int k; System.out.println("请输入");int level = myScanner.nextInt();for (i = 1; i <= level; i++) {for (k = 1; k <= i - 1; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (level - i) + 1; j++) {if (j == 1 || j == 2 * (level - i) + 1) {System.out.print('*');}else {System.out.print(" ");}}System.out.println();}}
}
(3)打印空心菱形
将(1)和(2)for循环上下合并。
代码如下:
import java.util.Scanner;
public class Stars {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);int i;int j;int k;System.out.println("请输入菱形的边长");int level = myScanner.nextInt();for (i = 1; i <= level; i++) {for (k = 1; k <= level - i; k++) {System.out.print(" ");}for (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 (i = 1; i <= level; i++) {for (k = 1; k <= i - 1; k++) {System.out.print(" ");}for (j = 1; j <= 2 * (level - i) + 1; j++) {if (j == 1 || j == 2 * (level - i) + 1) {System.out.print('*');}else {System.out.print(" ");}}System.out.println();}}
}
输出案例:
开始运行...
请输入菱形的边长
5 ** ** ** *
* *
* ** ** ** **运行结束。
经典题:用Java打印空心菱形相关推荐
- 利用Java打印空心菱形
利用Java打印空心菱形 public class Lx {public static void main(String[] args) { //打出空心菱形for (int i = 1; i < ...
- java打印空心菱形
看了韩顺平老师的课真是受益匪浅,其中蕴含的化繁为简,拆分问题的思想可以应对这个问题. 首先将问题简单化,先考虑一半的菱形,再打印出每一行的*,之后考虑前面的空格.这样先得到一个实心菱形,之后我们可以知 ...
- java 打印空心菱形,用for循环打印出空心菱形程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问当行数过大时该程序为什么不能正常显示菱形? 程序如下: public class Test1 { public static void main(St ...
- 【java基础练习】打印空心菱形
本人是初次接触编程的小白一枚呀,第一次在CSDN上发文章,想要循序渐进记录自己的学习成果,欢迎大佬们提点和纠错呀OvO~在此谢谢大佬[献上花花] 第一篇:打印空心菱形 import java.util ...
- 多重循环 ——— 打印九九乘法表 || 经典的打印金字塔(打印整个金字塔 打印空心金字塔 打印空心菱形金字塔)
打印九九乘法表 分析:每层左边空格的个数=总层数-第几层(i) 每一层的第一个*的位置是 1 每一层的最后一个*的位置是 2i-1 #include <st ...
- php菱形循环代码,PHP练习–用for循环打印空心菱形,for菱形_PHP教程
PHP练习–用for循环打印空心菱形,for菱形 思路:1,写出代码打印实心的金字塔 2.修改代码,把金字塔抛空 3.修改代码,把金字塔倒转 4.修改倒转后的代码,把金字塔抛空 5.修改代码,把具体的 ...
- 使用for循环打印空心菱形图案
使用for循环打印空心菱形图案 打印空心菱形图案 例: 首先我们要知道: 1.外层循环控制的是图形的行数: 2.内层循环控制的是图形的列数. 看菱形图案的左侧有空白区域,这就造成了我们很难理解,空白区 ...
- 2021-11-06 编程打印空心菱形
编程打印空心菱形 描述 所谓"空心菱形"是指:每行由两端为*.中间为空格的字符串构成,每行的字符串中心对齐:上半部分相邻两行字符串长度差2:下半部分与上半部分对称. 编写程序,输出 ...
- java打出菱形简介_使用java打印出菱形图案的操作步骤
使用java打印出菱形图案的操作步骤 发布时间:2020-04-25 17:17:47 来源:亿速云 阅读:118 作者:小新 今天小编给大家分享的是使用java打印出菱形图案的操作步骤,相信很多人都 ...
最新文章
- ArcGIS问题:如何定义坐标系
- 小宝机器人的储存容量_新iPad Pro储存越来越大:甚至到1T!您应该购买哪种存储容量呢?...
- 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等
- Mybatis Plus 连表操作及分页
- python新手入门代码-Python的初学者你现在可以自己quot;看”到代码的运行了!
- Guitar Pro如何更改五线谱的符杆方向
- 贪吃蛇python语言代码大全_Python编程代码:经典贪吃蛇
- BP神经网络模型介绍
- 纪录黑马程序员的真实生活
- 考研高等数学张宇30讲笔记——第十二讲 二重积分
- win10 更新计算机时间,win10电脑时间不能自动更新
- 电脑网线连接无线路由扩展设置
- matlab的syms无法在函数中使用_matlab syms什么意思_常见问题解析
- 【IPD流程学习 一】背景和目标
- Java教程:使用POI读取excel文档(根据BV1bJ411G7Aw整理)
- JAVA开发与运维(Nginx配置详解)
- flutter nfc
- GitHub官方出手,一针见血!Spring Boot趣味实战手册来袭(彩版)
- 通关HCIE-RS新版实验的正确姿势,请查收!
- centos安装并配置VNC Server图形化程序