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

    for (int x = 0;x<5 ;x++ )  //先确定是5行5列的正方形
{
if (x>0 && x<4) //打印出中间空的情况
{
for (int z=0;z<5 ;z++ ) //打印竖的列
{
if (z==0 | z==4) //第一和最后一列
{
System.out.print("* "); //输出“* ”
}else if(z>=1 && z<=4){ //中间三列
System.out.print(" ");//输出“ ”
} } }
else if(x==0 | x==4){ //第一行和最后一行
for (int y=0;y<5 ;y++ )
{
System.out.print("* ");//全部都输出“*”
}
}
System.out.println("");//println做一个换行(print输出的内容是不换行的)
}

使用for循环打印一个菱形
/*
思路分析: 输出一个菱形,可以拆分成两部分进行思考,分成上下两个三角形来进行输出,那好了,如何输出一个三角那,首先,三角形的是一个等腰三角形,而不是直角三角形,所以横排除了遍历“*”之外,还需要在其前边添加若干空格把它挤过去 ,显得比较好看,所以还得遍历他前边的空格。
*/

     for (int x = 0;x<10 ;x++ )//假设一共有10竖排
{
if (x<=5)//上半个三角形的情况
{
for (int z =5-x;z>0 ;z-- )//前边的空格是一个越来越少的三角形形态,所以定义为5-x
{
System.out.print(" ");
}
for (int y=0;y<x ;y++ )// 第一行一个“*”,第二行2个“*”,可以得出列数是和行数相等的,故定义y<x;
{
System.out.print("* ");//此时输出“* ”;
}
}else//这是下半个三角形的情况
{
for (int z =0;z<x-5 ;z++ ) //此时前边空格形态是上少下多,正好为x-5;
{
System.out.print(" ");
}
for (int y=10-x;y>0 ;y-- )//上宽下窄,所以遍历“*”为10-x;
{
System.out.print("* ");
}
}
System.out.println("");
}

使用for循环打印一个空心菱形
/* 思路分析:输出一个空心菱形,需要拆分成三部分进行思考,分成上下两个三角形来进行输出,那好了,如何输出一个三角那,首先,三角形的是一个等腰三角形,而不是直角三角形,所以横排除了遍历中间的菱形部分之外,还需要在其前边添加若干空格把它挤过去 ,显得比较好看,所以还得遍历他前边的空格。中间的空格也需要进行单独遍历,而“*”做的框,只需要把确定的值确定出来,让它输出“*”,即可!
*/

    for (int x = 0;x<10 ;x++ )//假设一共有10竖排
{
if (x<=5)//上半个三角形的情况
{
for (int z =5-x;z>0 ;z-- )//前边的空格是一个越来越少的三角形形态,所以定义为5-x
{
System.out.print(" ");
}
for (int y=0;y<x ;y++ )//这里了开始就进入正题了,
{
if (y==0 | y==x-1) //这是两边的框, 此时输出“* ”
{
System.out.print("* ");
}else{//中间剩下的部分输出空格
System.out.print(" ");
}
}
}else{
for (int z =0;z<x-5 ;z++ ) //此时前边空格形态是上少下多,正好为x-5;
{
System.out.print(" ");// 不多说,先把空格怼进去
}
for (int y=10-x;y>0 ;y-- )// 10-x为有几列
{
if (y==1 | y==10-x ) //第一列和10-x(最后一列)输出“*”做一个框出来
{
System.out.print("* ");
}else{ //中间部分输出空格
System.out.print(" ");
}
}
}
System.out.println("");
}

java在控制台输出空心正方形,菱形,空心菱形的更多相关文章

  1. java打印实心10*10正方形, 空心10*10正方形

    public class PrintSquare { public static void main(String[] args) { printSolidSquare(10); System.out ...

  2. Java(控制台输出)实现猜数字小游戏

    import java.util.Scanner; import java.util.Random; public class GuestNum{ public static void main(St ...

  3. Java如何利用for循环在控制台输出正方形对角线图形

    1 /* 2 利用循环在控制台输出如下正方形对角线图形 3 * * * * * * * * * * * 4 * * * * 5 * * * * 6 * * * * 7 * * * * 8 * * * ...

  4. PHP内置Web Server探究(二)自定义PHP控制台输出console函数

    我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况. 但PHP并没有像Python或Java专有的控制台输出函数,Python的print()和Java的Sys ...

  5. java字符串,包,数组及空心正方形,菱形的实例

    一.数组:相同类型的多个对像引用类型:所有的类,接口,数组,int[] ints(变量名) = new int[3]new:指的是在内存空间重新开辟一块区域 String s1 = "abc ...

  6. c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形

    今天翻资料的时候,无意间发现了一个文件,是刚接触编程的时候用c++写的一段程序,我称之为"图形打印机",想着把所有图形都打印出来,后来发现其实每种图形的代码都是一个思路,就不想做重 ...

  7. Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出

    1. TCP之客户端读取文本文件服务器控制台输出 (1)客户端:(发送数据到服务端) package cn.itcast_10; import java.io.BufferedReader; impo ...

  8. Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值

    1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: •  创建键盘录入数据对象 •  键盘录入多个数据,我们不知道多少个,所以用集合存储 •  以0结束,这个简单,只要键盘 ...

  9. java项目中eclipse控制台输出log4j的信息

    最近做的一个hadoop项目中,用MR实现了一个比较复杂的问题,其中的日志信息都是使用的是log4j来处理的.但不知怎么控制台不输出日志信息,只能输出System.out.println()信息,这个 ...

随机推荐

  1. 编写原生的Node.js模块

    导语:当Javascript的性能遭遇瓶颈,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...

  2. 结构化CSS设计思维

    LESS.SASS等预处理器给CSS开发带来了语法的灵活和便利,其本身却没有给我们带来结构化设计思维.很少有人讨论CSS的架构设计,而很多框架本身,如Bootstrap确实有架构设计思维作为根基. 要 ...

  3. iOS项目评估报告

    1.整体项目无分层概念,结构混乱,代码耦合严重. 影响:后期扩展困难,维护困难. 解决方案:1.整体采用mvc模式. 2.在原来的基础再抽离出业务层 3.业务层按模块管理,合理分层分包. 4.做好共用 ...

  4. C++经典绘图工具EasyX

    EasyX简介 EasyX 在学习C语言时,很多同学抱怨说C只能写最简单的Demo程序,通过printf在屏幕上打印字符来验证代码.这样的编程很枯燥,一点没觉得自己在设计软件. EasyX是针对C++ ...

  5. Java中常见的数据结构的区别

    把多个数据按照一定的存储方式,存储起来,称存储方式之为数据结构. 数据的存储方式有很多,数组,队列,链表,栈,哈希表等等. 不同的数据结构,性能是不一样的,比如有的插入比较快,查询比较快,但是删除比较 ...

  6. 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中

    前言:本项目基于maven构建 spring-boot项目可以快速构建web应用,其内置的tomcat容器也十分方便我们的测试运行: spring-boot项目需要部署在外部容器中的时候,spring ...

  7. HTML 简单了解

    HTML 特别的通俗易懂!想学自己制作网页的,就来我这看看吧! 首先 我先介绍一下什么是HTML! HTML是用来描述网页的一种语言!他结合CSS样式之后会有非常炫酷的样式! 1.HTML是指一种超文 ...

  8. Cookie的作用以及封装的方法

    Cookie相当于本地储存(local Storage),也是一种储存信息的方式. 它通过 document.cookie ='name=value' //name name值 value value ...

  9. Layered Windows窗口的半透明效果

    介绍: Layered Windows是windows窗口中的一类,提供类似半透明的效果(阿尔法混合).半透明效果是字面上有能看出来的,但实际上根据MSND,该类型的窗口还能更好的支持非矩形的窗口,使 ...

  10. redis bitcount variable-precision swar算法

    花了不到一周的时间看完了一本reids设计与实现的书,感觉整体的设计有些地方的确很巧妙,各个结构之间联系的非常紧密,但是很简单,逻辑性的没有太多,但是学到了一个bitcount计数1的方法比较巧妙,记 ...