使用for循环语句输出以下“空心菱形”效果:

    *
* *
* *
* *
* *
* *
* *
* *
*

建议优先参考笔者的另一篇文章:《for循环输出菱形的形状【java】》

代码:

 /*
*
* *
* *
* *
* *
* *
* *
* *
* 分析:
上图形似于实心菱形
*
***
*****
*******
*********
*******
*****
***
* 在菱形图案基础之上,将每行的第一颗和最后一颗星星输出,其他星星使用空格输出即可。
*/ public class StarTree
{
public static void main(String[] args){
int layer = 5; // 一、上层(显示 layer 行)
for(int i=1;i<=layer;i++){ // 1、获取空格需要显示数量
int spaceNum = layer-i; for(int j=1;j<=spaceNum;j++){ // 需要打印空格的数量
System.out.print(" ");
} // 2、获取星星需要显示的数量
int starNum = 2*i-1; for(int j=1;j<=starNum;j++){ // 需要每行打印的数量
if(j==1||j==starNum){ // 每行第一颗和最后一颗星星打印
System.out.print("*");
}else{ // 每行非第一颗和非最后一颗星星打印成空格
System.out.print(" ");
}
}
// 3、换行
System.out.println();
} // 二、下层
for(int i=(layer-1);i>=1;i--){ int sapceNum = layer-i; // 获取到每行显示空格的数量与行数i之间的关系
for(int j=1;j<=sapceNum;j++){
System.out.print(" ");
} int starNum = 2*i-1; // 获取到每行显示星星的数量与行数i之间的关系
for(int j=1;j<=starNum;j++){
if(j==1||j==starNum){ // 每行第一颗和最后一颗星星打印
System.out.print("*");
}else{ // 每行非第一颗和非最后一颗星星打印成空格
System.out.print(" ");
}
}
System.out.println();
}
}
}

代码结果显示:

for循环输出空心菱形的形状【java】的更多相关文章

  1. 09-使用for循环输出空心菱形(循环)

    /** * 使用for循环输出空心菱形 * */ public class Test7 { public static void main(String[] args) { for (int i = ...

  2. Java利用for循环输出空心的菱形

    编写程序,在控制台上输出空心菱形,对角距离为6. public class Diamond { public static void main(String[] args) { printHollow ...

  3. for循环打印空心菱形的新方法

    相信大家在学习流程控制的循环结构时,一定都用for循环绘制过菱形和空心菱形吧,我记得我当时写的很麻烦,把一个菱形分为上下两部分,上面2重for循环,下面2重for循环,相信有很多的小伙伴都是这样做的吧 ...

  4. Java循环输出一个菱形与阶乘倒数

    package javafirst; public class HomeWork { public static void main(String[] args){ System.out.printl ...

  5. 使用for循环输出空心的菱形的思路-还是没有办法理解

    之前已经成功写过一次代码,今天重新看这个题目时,一下子又没了思路,在草稿纸上比划了大概十分钟才想到实现的思路.思路跟上次实现的完全一样,发现时间长了就忘记了!真是好记性不如烂笔头,何况我这么差的记性呢 ...

  6. java输出空心菱形

    package com.zsh; import java.util.Scanner; public class Test08 { public static void main(String[] ar ...

  7. for循环输出菱形的形状【java】

    使用for循环语句输出以下“菱形”效果: * *** ***** ******* ********* ******* ***** *** * 代码 /* * *** ***** ******* *** ...

  8. java在控制台输出空心正方形,菱形,空心菱形

     使用for和if打印一个空心正方形 /*思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的.因此在打印第 ...

  9. java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

随机推荐

  1. Runtime常用的几个场景

    1.给分类动态添加属性 在FDFullscreenPopGesture中给UIViewController的分类里有这么一个属性: @property (nonatomic, copy) _FDVie ...

  2. py3.0第四天 函数

    列表生成 # -*- coding: utf-8 -*- # data =[1,2,3] # for index,i in enumerate(data): # print (index,i) # d ...

  3. ABP的确认框

    使用之前,是需要添加对abp.sweet-alert.js的引用,否则就无法正常使用. 确认框 abp.message.info('some info message', 'some optional ...

  4. 第43章:MongoDB-集群--Sharding(分片)--多机的搭建

    ①环境准备 服务器规划 服务器[192.168.0.75] 服务器[192.168.0.84] 服务器[192.168.0.86] mongos mongos mongos config server ...

  5. 第三次OO总结

    规格化设计的调研 随着50年代高级语言的出现,编译技术不断完善,涌现出多种流派的语言,其中就有里程碑式的Pascal语言:进入70年代,由于众多语言造成的不可移植.难于维护,Ada程序设计语言诞生了, ...

  6. [Java练习题] -- 1. 使用java打印杨辉三角

    package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...

  7. 用java实现的英汉词典

    import java.io.*; import java.util.*; public class MyDictionary { static private Map<String, Stri ...

  8. volatile的使用

    //资源(把 volatile去掉进行测试 )public class Demo { volatile int i =1;}//测试 public static void main(String[] ...

  9. python对象的for迭代实现

    第一种:__iter__ 实现__iter__的对象,是可迭代对象.__iter__方法可以直接封装一个迭代器,从而实现for循环 class A: def __init__(self): self. ...

  10. [转] Introduction to AppArmor

    Introduction to AppArmor http://ubuntuforums.org/showthread.php?t=1008906 Contents Post 1 Introducti ...