7-23 sdut-循环-9-画菱形(II)pta java

又见面了  吼哈~

那就一起开始今天的工作吧

开动!!!!

菱形是一种特殊的平行四边形,是四条边均相等的平行四边形。题目给出菱形的边长n,用*画出菱形。如:

n=1,输出:
*

n=2,输出:
 *
*** 
 * 

n=3,输出:
  * 
 ***
*****
 ***
  *

那么,你能用程序来实现么?

输入格式:

输入菱形的边长n,1<n<100。

输出格式:

输出对应的用*表示的菱形。

输入样例:

4

结尾无空行

输出样例:

   *
  ***
 *****
*******
 *****
  ***
   *

结尾无空行

public class Main{

        public static void main(String[] args){
                    Scanner cin=new Scanner(System.in);
                    int n=cin.nextInt();
                    for(int i=1;i<=n;i++)
                    {
                        for(int j=1;j<=n-i;j++)
                            System.out.print(" ");//观察题就可以得出每行字符前的空格数
                        for(int x=1;x<=2*i-1;x++)//2*i-1是一种规律大家应该能看出来
                            System.out.print("*");
                        System.out.println();//不要忘记换行***
                    }
                    for(int i=n-1;i>=1;i--)//这个就是把上面的给反过来搞一下
                    {
                        for(int j=1;j<=n-i;j++)//个人觉得这个范围才是比较有点难度的点
                            //n-i是因为已经最长的一行已经输出
                            System.out.print(" ");
                        for(int x=1;x<=2*i-1;x++)
                            System.out.print("*");
                        System.out.println();

                    }
                }
            }

不管怎样说,一步步分析才是我们克服难题的关键~~~~~

加油哈

上一篇:23 合并k个升序列表


下一篇:【2021/12/23】scroll-view是否触底问题