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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天学的for嵌套循环,学会了输出正三角形和倒三角形.正三角形和倒三角形加起来不就是个菱形吗.
/*
        0625,今天自习
        需求:定义一个小程序,打印菱形
               
                     *
                    * *
                   * * *
                  * * * *
                 * * * * *
                * * * * * *
                 * * * * *
                  * * * *
                   * * *
                    * *
                     *

        思路:
                -----*
                ----* *
                ---* * *
                --* * * *
                -* * * * *
                * * * * * *
                -* * * * *
                --* * * *
                ---* * *
                ----* *
                -----*
        其实是这样的,前边加了个空格型的的三角形.

        现在写代码习惯写个函数封装,便于复用.
        返回值为空,没有未知变量
       
        写完了,可是这样毫无扩展性可言,想定义一个用户自己定义行数的,打算使用Scanner 键盘录入

        结论:通过自己的推理,发现lingXing(),调用函数的时候()里可以填一个定义好的变量.


*/       
import java.util.Scanner;//导包
class ForForTest2
{
        public static void main(String[] args)
        {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入行数");
                //获取键盘录入的下一个int值
                int number = sc.nextInt();
                lingXing(number);
        }
        public static void lingXing(int hang)
        {
                /*
                //调用对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入行数");
                //获取键盘录入的下一个int值
                int hang = sc.nextInt();
                */
                System.out.println("Surpise:");
                //先写上半部分
                for (int x = 0;x <hang ;x++ )
                {
                        //写空格的尖朝下的三角形. 5 4 3 2 1 0
                        for (int y = x ;y < hang - 1 ; y++ )
                        {
                                System.out.print(" ");//打印空格
                        }
                        //写*组成的正三角形 1 2 3 4 5 6
                        for (int z = 0;z<=x ;z++ )
                        {
                                System.out.print("* ");
                        }
                        System.out.println();
                }
                //写下半部分 比上边少一行
                for (int x = 0; x < hang -1 ;x++ )
                {
                        //写尖朝上的空格组成的三角形  1 2 3 4 5
                        for (int y = 0;y<=x ;y++ )
                        {
                                System.out.print(" ");
                        }
                        //写尖朝下的*组成的正三角形
                        for (int z =x;z<hang - 1 ;z++ )
                        {
                                System.out.print("* ");
                        }
                        System.out.println();
                }
       
       
       
       
        }


}

12 个回复

正序浏览
又复习了一遍,楼主厉害!
回复 使用道具 举报
学习一下,谢谢了
回复 使用道具 举报
好,来学习一下
回复 使用道具 举报
多谢分享
回复 使用道具 举报
编程,是一种看待事物的独特眼光。
回复 使用道具 举报
思路很清晰嘛
回复 使用道具 举报
zhangkai986745 发表于 2015-6-26 00:19
以前学习时还会,现在不会了

哈哈,其实我也这么感觉,学的是思想,不是记代码,等我们能有清晰的思路的时候,忘记又何妨?
回复 使用道具 举报
还不错,继续加油。。。。
回复 使用道具 举报
学c的时候就,这是最常见的题,,,,
回复 使用道具 举报
估计  和你是一个班的
回复 使用道具 举报
谢谢,学习下你的代码
回复 使用道具 举报
学习了。谢谢分享。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马