A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刚学习java基础,课堂上讲解了打印直角三角形的方法,觉得学的还不错.今天碰到一个拓展题,让打印正三角形和菱形,最长边可以自己控制.想了半天基本没有思路,个位学长谁能给个思路指点一下呢?小弟在此谢过了!!

3 个回复

倒序浏览
-----*
----* *
---* * *
--* * * *
-* * * * *
等腰三角形 你可以看成这样 -标出来的空位就是直角的
每一行的个数其实就是由空格“ ”和“*“组成
既然你会打印直角三角形了,那么这个也是的
外循环控制行数,只不过这个内循环用两个for循环即可 一个打印空格“ ” 一个打印“* ”

那么菱形用 输出一个正的等腰三角形和一个倒的等腰三角形就行了
回复 使用道具 举报
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();
                }
        }
}
回复 使用道具 举报
先把菱形分为上半部分和下半部分,然后想想上半部分有几层,下半部分有几层。然后,每层的空格数是多少个?每层星号多少个。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马