java空心菱形
图 1
要输出如图1所示的菱形,第一反应是看看这个菱形有什么特点。在草稿纸上比划了半天,将图1转化成了图2用数字表示的图

图 2
比较图1和图2发现有以下特点:
(1)图2中的每一个数字代表图1中每个*号在所在行的列号。
(2)6+6、5+7、4+8、3+9、2+10、1+11均等于12。
由于菱形是对称的,所以先考虑上半部分,即如图3所示

图 3
仔细观察图3,可以发现:
(1)图3为6行11列。
(2)左半部分第1行为6、第2行为5、..............、第6行为1;由此可知外循环应使用for(int i=6;i>=1;i--)
(3)用i代表行号,j代表列号;当i=j或者j=12-i时该位置的应输出*号,其他位置输出空格。
有了以上分析,就可以写出输出图3所示图形的核心代码,如下:
[java] view plain copy
for(int i=6;i>=1;i--){ //菱形的上半部分
for(int j=1;j<=11;j++){
if(i==j||j==12-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
要想输出菱形的下半部分,只需将外循环改为for(int i=2;i<=6;i++)即可。
看到这儿,相信你不用看下面的完整代码,自己就可以完全写出实现的代码了!如果你还没有写,动手实践一下吧!
附录:完整代码:
[java] view plain copy
public class Diamond {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=6;i>=1;i--){ //菱形的上半部分
for(int j=1;j<=11;j++){
if(i==j||j==12-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
for(int i=2;i<=6;i++){ //菱形的下半部分
for(int j=1;j<=11;j++){
if(i==j||j==12-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
java空心菱形的更多相关文章
- Java基础知识强化07:打印出空心菱形
1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...
- Java 写三角形 空心三角形 菱形 空心菱形
闲来无事,练习了一下Java基础中的循环语句.练习循环语句,当然少不了,用*打印出来三角形.空心三角形.菱形等这样的几何图形. 粗心大意,失误两次: 一.三角形 遇到一些小问题: 二.金字塔 由于三角 ...
- for循环输出空心菱形的形状【java】
使用for循环语句输出以下“空心菱形”效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: ...
- java中打印实心菱形以及空心菱形的方法
一.打印效果 二.实现代码汇总 为了方便初学者对代码的理解,建议熟练t1到t5为各种三角的打印,然后再进行菱形的打印实现. package circulationDemo; import java.u ...
- java杨辉三角和空心菱形(二维数组篇)
一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...
- Java打印空心菱形
使用Java打印空心菱形 public static void main(String[] args) { int n = 5; //这里输出菱形的上半部分 for (int i = 1; i < ...
- java在控制台输出空心正方形,菱形,空心菱形
使用for和if打印一个空心正方形 /*思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的.因此在打印第 ...
- Java温故而知新-空心菱形
空心菱形 今天做题练手,题目是空心菱形,一开始没什么思路,去网上找了找,发现很难找到讲的通透的,自己现在独立做出来了,记录一下,以备后用. * * * * * * * * * * * * * * * ...
- java 打印空心菱形的两种实现
第一种实现方式: //打印给定行数的空心菱形 public static void draw(int size){ if (size % 2 == 0) //如果是偶数行变为奇数 { size++; ...
随机推荐
- arcgis10.4 server第一次发布地图报错:We were unable to connect to...Error:Proxy server got bad address...
arcgis 10.4发布地图跟10.2不一样.server url里的http要改为https,否则就会连接不上.
- ehlib预览打印的使用
ehlib支持预览打印功能,可以省去重新制作报表的麻烦,经过一天的努力,基本上解决了这个问题.把解决方法写出来,同行的朋友可以参考,同时为自己做个学习笔记. 首先,需要放置PrintDBGri ...
- LeetCode 832 Flipping an Image 解题报告
题目要求 Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the ...
- BZOJ4391 High Card Low Card [Usaco2015 dec](贪心+线段树/set库
正解:贪心+线段树/set库 解题报告: 算辣直接甩链接qwq 恩这题就贪心?从前往后从后往前各推一次然后找一遍哪个地方最大就欧克了,正确性很容易证明 (这里有个,很妙的想法,就是,从后往前推从前往后 ...
- scapy 中的ARP
scapy 常用命令 ls() //查看支持的协议对象lsc() //查看函数show() //查看数据包结构send() //三层发包sr() //三层收发sr1() //三层收发只收一 timeo ...
- window 系统显示svg、psd格式文件
可以安装SVG Explorer Extension来预览略缩图原地址:https://svgextension.codeplex.com 参考地址 github上 exe 文件下载地址 https: ...
- (4.24)sql server变量中set与select的区别
SET vs SELECT是SQL极客之间讨论的常见话题,也是最受欢迎的面试问题之一.SET用于为变量赋值,SELECT用于赋值或从变量/ table / view等中选择值. 让我们看看在不同场景中 ...
- 安装与破解PyCharm专业版
安装与破解PyCharm专业版(有两种方法) 一.安装与破解PyCharm专业版 1.安装pycharm(建议安装python3) 这是网址:(https://www.jetbrains.com/py ...
- VS2017使用Git进行源代码管理
步骤一:将解决方案添加到源代码管理 步骤二:进入团队资源管理器 双击存储库项目进入Git操作页面. 步骤三:同步本地代码到远程仓库 选择同步功能 步骤四:发布代码到Git 点击之后输入你要发布的git ...
- ppt 调整 页面 白色区域 大小
1: 点击设计>大小 2:点击确保适合 3:成功