1.在控制台输出五行五列*:

        for (int i =1; i <=5; i++) {for(int j=1;j<=5;j++){System.out.print("*");}System.out.println();}

可以使用循环来做,首先外层循环变量控制行数,这里是五行所以循环条件为i<=5,内层循环变量控制每一行的列数,内层的for循环的作用是在1行输出5个*最后得到的运行结果就是上图所示的结果

2.输出三角形

首先还是写一个for循环,行数为3,所以可以确定i的循环条件是i<=3,但是列数的取值范围不确定,这里就要找找规律,可以发现第一行1个,第二行3个,第三行5个所以可以总结出规律,      列数=行数*2-1;所以列数j可从1开始,循环条件为j<=2*i-1,这样得到的三角形是这样的:

与想要的到的三角形有很大的出入,对比一下两个三角形,目标图形与目前得到的图形之间的差别就是在每一行前面添加空格。所以可以在输出*的循环的前面在加一个for循环,这个循环用来添加空格。这也需要找到行数与空格列数的关系。不难发现每一行前面的空格是逐步递减1的所以是-i,根据其他的条件不难发现:空格数=3-行数。所以最终可以列出这样的代码:

        int k;int l;for(k=1;k<=3;k++){for(int h=1;h<=3-k;h++){System.out.print("  ");}for(l=1;l<=2*k-1;l++){System.out.print("* ");}System.out.println();

2.

这个图形可以分为两部分来做 

首先是上半部分,上半部分是6行,所以行数的循环条件是行数<=6,再看列,每行增加的列数为2,所以与行之间的关系就是2k+?,把2k带入不难发现?结果是4,所以行数与列数的关系就是

列字符数=行*2+4,接下来是空格的数目,每一行的空格数目都是递减的,每次减1,所以是-k,最后一行没有空格,也就是说空格数为0,所以之间的关系是每列空格数=6-行数。把条件放进去是完全符合的这样上半部分就做出来了。然后是下半部分的图形。下半部分是上半部分倒过来的,并且行数减少了1行,所以可以把行数的初始值设置为5,迭代设置为k--,循环条件是k>=1。而下半部分列里面的*是在递减的,而行数的变量也是在递减的,于是可以使用上半部分同样的方式,空格的方式也是与上半部分一样的,所以可以写出如下代码:

        int k;int l;//行for(k=1;k<=6;k++){for(int p=1;p<=6-k;p++){System.out.print(" ");}for(l=1;l<=2*k+4;l++){System.out.print("*");}System.out.println();}for(k=5;k>=1;k--){for(int p=1;p<=6-k;p++){System.out.print(" ");}for(l=1;l<=2*k+4;l++){System.out.print("*");}System.out.println();}

最后得出的结果为

3.

这个图形一样可以分为两块来做。其中两部分又要分为两部分来做

先是上半部分,行数为9行,每行只输出一个所以列数的循环条件为b<=1,就是只让它输出一次。然后是空格与行数的关系,这里也不难发现  空格数=9-行数。

接下来是右边的一部分,右边的一部分与左边的一部分是在一个循环里面的,但是会多输出一个*(a==1)的时候,可以使用一个if语句来将它取代掉:

if(a==1){
                    System.out.print("");
                }

这里比较难找的是空格的关系,而这个时候右侧的空格开始的部分就不再是从最左边开始了,而是左边的图形了,所以就可以找一下规律,第2行离左侧的空格数为1,第2行离左侧的空格数为3,第3行离左侧的空格数为5……。运用高中的知识也能知道关系为每列的空格数=行数*2-3。这样上半部分就解决了。

下半部分可以用上面一题一样的方法,行数的初始值从8开始,循环条件是行数>=1,迭代是i--,其他的地方都不用改动,所以代码为;

        int a;int b;for(a=1;a<=9;a++){for(int c=1;c<=9-a;c++){System.out.print(" ");}for(b=1;b<=1;b++){System.out.print("*");}for(int e=1;e<=2*a-3;e++){System.out.print(" ");}for(int d=1;d<=1;d++){if(a==1){System.out.print("");}else{System.out.print("*");}}System.out.println();}for(a=8;a>=1;a--){for(int c=1;c<=9-a;c++){System.out.print(" ");}for(b=1;b<=1;b++){System.out.print("*");}for(int e=1;e<=2*a-3;e++){System.out.print(" ");}for(int d=1;d<=1;d++){if(a==1){System.out.print("");}else{System.out.print("*");}}System.out.println();}

运行结果:

4.

这个图形,我使用的是别的方法。在上一题中,可以知道输出的东西是可以使用空格来取代的,于是整活开始。

首先我是直接把这样的一个图形全部输出出来

也就是直接整一个8*15的长方形,然后使用空格取代中间的*,即在这个区间内的*全部使用空格来代替,现在就是找规律,先找左边这条边的规律,可以看到它左边的空格是在依次递减的,每次减1,所以是?-行数,最后一行剩了一个,所以应该是9-i;即if选择结构中的一个条件是j>9-i。也就是在9-i右边的*全部使用空格替代。

接下来是右边这条线,可以看出是在递增的,每次加1;先预定一个+i,现在不能看最后一行了,我们需要的是一个确定的数字,所以看第一行,中间这个三角形的顶点处,发现它在第八个,所以可以得出第二个条件j<i+7.这样就可以写出代码:

    public static void main(String[] args) {for(int i=1;i<=8;i++){for(int j=1;j<=15;j++){if(j>9-i&&j<7+i){System.out.print(" ");}else{System.out.print("*");}}System.out.println();}}

运行结果

总结:要学会找规律,外层控制行数,内层控制列数!

和我一起学习的还有很多同学,其中很多很多人都比我优秀,我之前做了一个题目,用循环将十进制数改写为二进制,八进制数,十六进制数。我一开始使用的是累加的方法,才能实现将数据到过来输出,做法很繁杂。后来我在网上看到了一个大神,用的数组的方法,结构清晰,方法也很巧妙。后来我发现居然是我们班的同学,我想着哪来的大佬跑这里来炸鱼塘,不过我自身还需要努力训练自己的思维,争取能像我们班那些学的好的同学靠齐。

java利用循环输出*三角形相关推荐

  1. python循环语句打印三角形_python循环输出三角形图案的例子

    python循环输出三角形图案的例子 我就废话不多说了,直接上代码吧! #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # ...

  2. java中关于输出三角形图案类型题目的思路

    java中关于输出三角形图案类型题目的思路 初学java,在学到循环相关的知识的时候,老师总会拿出一些图形打印相关的题目来让大家来练习,其中比较经典的就是如下类似题目. 这种图形类的题目,只要能做出其 ...

  3. php实现 三角形_PHP使用for循环输出三角形

    在PHP面试过程中,关于for循环的基础知识考点是必不可少的.如通过for循环构造输出三角形的形状.那么实现三角形的效果,我们就需要通过嵌套for循环的思路. 下面我们就给大家结合简单的代码示例,给大 ...

  4. python编程*三角形图形创意图片_python循环输出三角形图案的例子

    我就废话不多说了,直接上代码吧! #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py #作 者:孔云 #问题描述:编写程序,使 ...

  5. 利用循环输出如下图形

    利用循环输出如下图形. [cpp] view plain copy * ** *** **** ***** #include<stdio.h> void main() { int i,j; ...

  6. java使用循环输出等腰三角

    目录 学习JAVA也有一段时间了,对于输出等腰三角这个需求,刚看到时也时一头雾水,不知道如何下手,没有实现的具体思路:但想来需要使用循环,那就先写个程序大体框架吧,使用EClipse建立一个工程,先命 ...

  7. java用输出v形,Java之循环输出等腰三角形

    public class aaa{ public static void main(String[] args) { int max=5; for(int i=1;i<=5;i++){//控制行 ...

  8. JAVA利用循环语句while计算数字1到100的和,并输出

    package day04; import java.util.Scanner; public class Demo {public static void main(String[] args) { ...

  9. plsqlfor循环输出三角形_glium指南-03-移动我们的三角形

    原地址: https://github.com/glium/glium/blob/master/book/tuto-03-animated-triangle.md 移动我们的三角形 上一节我们画了个三 ...

最新文章

  1. python免费视频百度网盘-Python入门视频百度网盘看这些就够
  2. 从成本角度看Java微服务
  3. redis的基本使用笔记二
  4. Java ExecutorService 线程池
  5. SpringBoot 自带工具类~CollectionUtils
  6. launchpad乐器_一起认识 Launchpad 系列——中篇
  7. 嵌入式linux设置屏幕亮度
  8. el-input和和filter结合实现实时搜索
  9. Android开发动态的监听网络状态的变化
  10. 找零程序Java_动态规划——硬币找零问题(java)
  11. Unity中计算面法线与顶点法线
  12. 二阶可导的充要条件_可导函数在x
  13. APP指的是智能手机的第三方应用
  14. html文字前画线代码,在div上画线
  15. ATM取款机详细代码
  16. 基础(待续)-BTT与STT导弹模型
  17. 一篇好文章带你走出阴霾
  18. 百度创始人李彦宏:互联网的下一章
  19. maya! board_送给自学3d建模的你,自学maya,zbrush,substance一个月的感想
  20. 51单片机:STC-ISP的USB驱动安装解决办法

热门文章

  1. 天津计算机比赛,国际传媒学院学生在“‘中科曙光’杯第六届中国大学生计算机设计大赛天津市级赛”中屡创佳绩...
  2. 解放军美女网络尖兵,90余昼夜写代码40多万行
  3. 思科交换机65系列配置
  4. win10我的电脑右键管理错误
  5. 吃透Java基础一:Java访问权限修饰符
  6. 重新安装ODBC 驱动程序方法之一
  7. CTF密码学-加解密总结
  8. 神舟笔记本电脑 K550D-i7 D1 的驱动下载地址
  9. 远程访问Access数据库
  10. c#中的interface abstract与virtual的介绍与使用