一、输出以下图形

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

用for...for...嵌套循环,内循环控制每一行的个数(即列数),外循环控制行数

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=4 ;i++ ) //外循环,控制行数
{
for (int j=1;j<=8 ;j++ ) //内循环,控制每行打印*的个数。j=1;j<=8,即8个
{
System.out.print("*");
}
System.out.print("\n"); //一行完成后,跳出循环,打印一个换行符
}
}
}

以下,可控制行和列

class ForDraw
{
public static void main(String[] args)
{
int lay=5; //变量lay控制行
int col=12; //变量col控制列
for (int i=1;i<=lay ;i++ )
{
for (int j=1;j<=col ;j++ )
{
System.out.print("*");
}
System.out.print("\n");
}
}
}

二、输出以下图形

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

方法一(推荐方法):

思路:
第一行1个、第二行2个。。。。说明每行打印*数与行号一样。

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=8 ;i++ ) //控制行数。
{
for (int j=0;j<=i ;j++ ) //控制每行*数。循环条件是j<=i,即每行*最大数即行号。
{
System.out.print("*");
}
System.out.print("\n"); }
}
}

方法二:

每循环一次,打印数量比上一行多一次。可定义一个变量,记录下循环次数。第一次循环打印1个*,第次循环打印2个*。

class ForDraw
{
public static void main(String[] args)
{
int count=1; //记录循环次数。
for (int i=1;i<=8 ;i++ ) //控制行数。
{
for (int j=0;j<count ;j++ ) //控制每行*数。
{
System.out.print("*");
}
System.out.print("\n");
count++;
}
}
}

 三、输出以下图形

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

方法一(推荐):

思路:第一行8个、第二行7个……即最多打印8个,第一行循环8次,即1-8;第二行循环7次,即2-8,以此类推

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=8 ;i++ ) //控制行数。
{
for (int j=i;j<=8 ;j++ ) //控制每行*数。循环条件是j=i;j<=8,即每行数量循环次数。
{
System.out.print("*");
}
System.out.print("\n"); }
}
}

方法二:第一行8个、第二行7个……即最多打印8个,第一行循环8次,即1-8;第二行循环7次,即1-7,以此类推

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=8 ;i++ ) //控制行数。
{
for (int j=0;j<=(8-i) ;j++ ) //控制每行*数。循环条件是j=i;j<=8,即每行数量循环次数。
{
System.out.print("*");
}
System.out.print("\n"); }
}
}

四、输出以下图形

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

思路:

第1行实际上是打印5个空格和1个*;第1行实际上是打印4个空格和2个*……以此类推

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=6 ;i++ ) //控制行数。
{
for (int j=i;j<=5 ;j++ ) //控制空格的输出。第一行5个空,第二行4个空,以此类推
{
System.out.print(" ");
}
for (int j=1;j<=i ;j++ ) //控制*的输出。第一行1个*,第二行2个*,以此类推。
{
System.out.print("*");
}
System.out.print("\n"); }
}
}

五、输出以下图形

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

思路:

第1行实际上是打印4个空格,1个*;第2行实际上是打印3个空格,3个*……*个数是行号*2-1

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=5 ;i++ ) //控制行数。
{
for (int j=i;j<=4 ;j++ ) //控制空格的输出。第一行4个空,第二行5个空,以此类推,共4行
{
System.out.print(" ");
}
for (int j=1;j<=i*2-1 ;j++ ) //控制*的输出。第一行1个*,第二行2个*,以此类推,即行号*2-1
{
System.out.print("*");
}
System.out.print("\n"); }
}
}

六、输出以下图形

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

思想:

第1行和最后一行单独控制

其它几行,用for...for...嵌套循环来控制。

class ForDraw
{
public static void main(String[] args)
{
for (int i=1;i<=4 ;i++ ) //控制第一行,打印4个空格
{
System.out.print(" ");
}
System.out.print("*"); //第一行4个空格之后,打印一个*
System.out.print("\n"); for (int i=1;i<=3 ;i++ ) //控制行数。
{
for (int j=i;j<=3 ;j++ ) //控制空格的输出。第一行3个空,第二行2个空,以此类推,共3行
{
System.out.print(" ");
}
System.out.print("*"); //空格后输出一个*
for (int j=1;j<=i*2-1 ;j++ ) //控制空格的输出。
{
System.out.print(" ");
}
System.out.print("*"); //空格后输出一个*
System.out.print("\n"); }
for (int i=1;i<=9 ;i++ ) //控制最后一行
{
System.out.print("*");
}
}
}

方法二(推荐此方法):

思路:

先打印三角形前面的空格,再打印三角形

三角形中,第一行和最后一行全是*,先打印。

三角形中,其余各行中,第一个和最后一个字符是*,其余是空格。

class ForDraw
{
public static void main(String[] args)
{
int lay=5; //层数5层
for (int i=1;i<=lay ;i++ ) //控制5层循环。i变量控制层数。
{
//以下控制三角形前面的空格打印,1--4 2--3 3--2。j用一次for循环就释放。
for (int j=1;j<=lay-i ;j++ )
{
System.out.print(" ");
}
//以下控制*打印
//1--1 2--3 3--5
//其余2个,最后一行全是。k变量用来控制每一行的*数量。
for (int k=1;k<=i*2-1 ;k++ )
{
//第一层和最后一层,全打*。涉及到层数,用i变量。
if (i==1 | i==lay)
{
System.out.print("*");
}else
{
//第一个和最后一个打*,其余打空格。涉及到每一层的*个数,用k变量。
if (k==1 |k==i*2-1)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
}
System.out.println();
}
}
}

for语句输出图形的更多相关文章

  1. 使用for语句输出1-100之间的所有偶数

    使用for语句输出1-100之间的所有偶数 for i in range(1,101): if i%2==0: print(i) 使用while语句输出1-100之间能够被3整除的数字 j=1 whi ...

  2. 将EntityFrameworkCore生成的SQL语句输出到控制台,使用hangfire

    将EntityFrameworkCore生成的SQL语句输出到控制台 参考文档如下 EF Core 日志记录要求使用一个或多个日志记录提供程序配置的 ILoggerFactory. 日志记录-EF C ...

  3. mybatis日志,打印sql语句,输出sql

    mybatis日志,打印sql语句,输出sql<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE ...

  4. For嵌套输出图形

    /*输出此图形    *   * *  * * * * * * ** * * * *  * * * *   * * *   * *     *解析:可以把此图形看成两部分----*---* *--* ...

  5. PLSQL执行sql语句输出的中文是???之解决方法和步骤

    方法/步骤 1 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出 步骤阅读 2 输入sql语句select * from V$NLS_PARAMETERS查 ...

  6. logback.xml sql语句输出

    在使用springBoot框架之后,日志配置文件变成了logback.xml,输出sql语句的方法为: <!-- 打印sql语句 --> <logger name="com ...

  7. 成长记录 if语句输出 由大到小的数字

    #include<stdio.h> void main() { float a,b,c,d,e,f,g,t; scanf("%f,%f,%f,%f,%f,%f,%f", ...

  8. python 格式化向sql语句输出元组

    想要往执行的sql语句里传入元组怎么办?尤其像insert 数据等操作,其实 利用"{}".format(tuple)固定格式传值即可 results = ((,,),(,,)) ...

  9. 题目1161:Repeater(规律输出图形)

    题目1161:Repeater 题目链接:http://ac.jobdu.com/problem.php?pid=1161 具体分析:https://github.com/zpfbuaa/JobduI ...

随机推荐

  1. Content Provider 小结

    Android中的四大组件之一ContentProvider,它支持多个应用间进行存储和读取数据等操作,实现不同应用间的数据共享. ContentProvider,解释为内容提供商.顾名思义,就是对外 ...

  2. iOS探究UITableView的内部代码,仿UITableView自定义

    大家都知道UITableView,最经典在于循环利用,这里我自己模仿UITableView循环利用,写了一套自己的TableView实现方案,希望大家看了我的文章,循环利用思想有显著提升. 研究UIT ...

  3. 改变Button文字和图片的位置

    button.imageEdgeInsets = UIEdgeInsetsMake(0, labelWidth, 0, -labelWidth);button.titleEdgeInsets = UI ...

  4. java之常用正则表达式

    http://www.cnblogs.com/helloczh/articles/1648029.html http://wenku.baidu.com/link?url=gLcsovVfQqRTVa ...

  5. MySQL show master / slave status 命令参数

    一.show master status 二.show slave status Slave_IO_State SHOW PROCESSLIST输出的State字段的拷贝.SHOW PROCESSLI ...

  6. 文本去重-----awk或者uniq

    对于awk '!a[$3]++',需要了解3个知识点 1.awk数组知识,不说了 2.awk的基本命令格式 awk 'pattern{action}'     省略action时,默认action是{ ...

  7. lpc1768的PWM使用

    //p2.0 pwm1.1 void ALS_Init(void)     //初始化 { LPC_SC->PCONP |= (1<<1)|(1<<2)|(1<&l ...

  8. elya:给移动APP创业者的工具集(一)

    作为移动APP的创业者,往往遇到的困扰是,人家都开发过的功能了,劳资还得辛辛苦苦开发一遍,比如说什么积分系统啊,什么IM组件啊,什么滤镜啊,而且发一个版本官网就得改一次,做一次微信营销就要开发个H5页 ...

  9. IOS9提示“不受信任的开发者”如何处理

    iPhone升级到IOS9版本后,发现部分APP在下载后首次运行时,都会提示“不受信任的应用程序开发者”,这是因为企业证书发布的APP,没有经过AppStore审核,于是iOS对用户做出一个安全性的提 ...

  10. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...