admin管理员组

文章数量:1794759

金字塔图案——Java

金字塔图案——Java

不积跬步无以至千里,不积小流无以成江海。做好一件事,要从最简单的开始。

下面是比较经典的一个有关循环应用的题目:

请编写程序,打印出金字塔图案:

首先,我们可以看到,金字塔的每一层都是由一定数量的空格和星号组成的,所以我们的任务就是找到总层数(n),第i层,空格数(x)以及星号数(y)的联系。为了方便找到关系,我们可以将原图分析成如下形式:

如果第一眼看不出来,我们可以列个表格找找规律。

n—5;i—1;x—4;y—1;

n—5;i—2;x—3;y—3;

n—5;i—3;x—2;y—5;

n—5;i—4;x—1;y—7;

n—5;i—5;x—0;y—9;

仔细观察可得,x=n-i;y=2*i-1;

得到这个关系后,就可以着手开始编码了

具体代码如下:

import Java.util.Scanner; public class _1_1 { public static void main(String[] args){ //正立金字塔 int int i,j,k,n; Scanner input = new Scanner(System.in); System.out.println("请输入金字塔的层数:"); n=input.nextInt(); //第一层循环控制金字塔的层数 for(i=1;i<=5;i++){ //第二层循环控制每行的空格数 for(j=1;j<=n-i;j++){ System.out.print(" "); } //第二层循环控制每行的星星数 for(k=1;k<=(2*i-1);k++){ System.out.print("*"); } System.out.print("\\n");//输出完一层后换行 }

        }

在了解了解题思路后,我们就可以着手写一个倒立金字塔的程序,当然了,正立金字塔和倒立金字塔的空格星星的数量关系是不一样的,具体数量关系不再赘述,倒立金字塔主干代码如下:

Scanner input = new Scanner(System.in); System.out.println("请输入金字塔的层数:"); n = input.nextInt(); m=n*2; //外层循环控制金字塔层数 for(i=1;i<=n;i++){ //内层循环控制空格和星星的数量 for(j=1;j<i;j++){ System.out.print(" "); } //星星 for(k=1;k<=m-i;k++){ System.out.print("*"); } m--; System.out.println("\\n"); }

本文标签: 金字塔图案java