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++; ...
随机推荐
- [knowledge][dpdk] open data plane
https://www.opendataplane.org/ https://en.wikipedia.org/wiki/OpenDataPlane odp vs dpdk: http://dpdk ...
- LeetCode 463 Island Perimeter 解题报告
题目要求 You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 rep ...
- SQL GROUP BY对多个字段进行分组
参考链接:http://stackoverflow.com/questions/2421388/using-group-by-on-multiple-columns 在平时的开发任务中我们经常会用到M ...
- activemq安装使用教程
一.下载安装 下载地址:http://activemq.apache.org/activemq-5158-release.html 然后解压即可,apache的东西解压后就可以使用了. 二.启动 在安 ...
- SSH的通讯和认证
SSH的通讯和认证 转自:http://blog.sina.com.cn/s/blog_4e9440910100zxk0.html 之前一直对SSH的认证模棱两可,今天对SSH的通讯,认证和配置有了进 ...
- webpack4入门配置
下面是抄过来的,方便自己翻越 webpack4.x入门配置 1.首先npm install webpack webpack-cli webpack-dev-server -g (mac电脑用超级管 ...
- 关于Sentry(转)
原文:http://blog.csdn.net/largetalk/article/details/8640854 1. Sentry介绍及使用 Sentry is a realtime event ...
- 第三节:Windows下检出项目和提交项目
1.将项目下载到本地: 2.在客户端中,右键点击test,选择show in explorer: 然后修改日志文件并保存: 3.在客户端中填写备注并提交: 4.提交到github中:
- react native touchable
<Button style={{marginTop: 30}} onPress={() => { Alert.alert("你点击了按钮!"); }} onPressI ...
- 报错解决——Disconnected:No supported authentication methods available
该问题是由于ssh链接未允许远程密码认证导致的 解决方法 通过管理控制台进入系统,查看 /etc/ssh/sshd_config配置文件中是否包含以下配置 PasswordAuthentication ...