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 个回复

倒序浏览
学习了。谢谢分享。。。
回复 使用道具 举报
谢谢,学习下你的代码
回复 使用道具 举报
估计  和你是一个班的
回复 使用道具 举报
学c的时候就,这是最常见的题,,,,
回复 使用道具 举报
还不错,继续加油。。。。
回复 使用道具 举报
zhangkai986745 发表于 2015-6-26 00:19
以前学习时还会,现在不会了

哈哈,其实我也这么感觉,学的是思想,不是记代码,等我们能有清晰的思路的时候,忘记又何妨?
回复 使用道具 举报
思路很清晰嘛
回复 使用道具 举报
编程,是一种看待事物的独特眼光。
回复 使用道具 举报
多谢分享
回复 使用道具 举报
好,来学习一下
回复 使用道具 举报
学习一下,谢谢了
回复 使用道具 举报
又复习了一遍,楼主厉害!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马