黑马程序员技术交流社区

标题: 关于打印正三角菱形 [打印本页]

作者: 发现一只程序猿    时间: 2016-7-27 18:00
标题: 关于打印正三角菱形
刚学习java基础,课堂上讲解了打印直角三角形的方法,觉得学的还不错.今天碰到一个拓展题,让打印正三角形和菱形,最长边可以自己控制.想了半天基本没有思路,个位学长谁能给个思路指点一下呢?小弟在此谢过了!!
作者: 冲天香阵透长安    时间: 2016-7-27 19:37
-----*
----* *
---* * *
--* * * *
-* * * * *
等腰三角形 你可以看成这样 -标出来的空位就是直角的
每一行的个数其实就是由空格“ ”和“*“组成
既然你会打印直角三角形了,那么这个也是的
外循环控制行数,只不过这个内循环用两个for循环即可 一个打印空格“ ” 一个打印“* ”

那么菱形用 输出一个正的等腰三角形和一个倒的等腰三角形就行了
作者: 大天    时间: 2016-7-27 22:01
import java.util.Scanner;

public class YangHuiSanJiao {


        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int number = sc.nextInt();
                for (int i = 1; i <= number; i++) {
                        for (int j = 1; j <= number * 2 - 1; j++) {
                               
                                boolean b = j > number - i & j < number + i;
                                if (i % 2 != 0) {
                                        if (j % 2 == 0&b==true) {
                                               
                                        System.out.print("*");

                                        } else {
                                                System.out.print(" ");

                                        }
                                }
                                else {
                                        if (j % 2 != 0&b==true) {
                                       
                                                System.out.print("*");
                                        } else {
                                                System.out.print(" ");
                                        }
                                }

                        }
                        System.out.println();
                }
        }
}
作者: shizongger.com    时间: 2016-7-27 22:04
先把菱形分为上半部分和下半部分,然后想想上半部分有几层,下半部分有几层。然后,每层的空格数是多少个?每层星号多少个。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2