java每日一练(金字塔算法实现)
来源:互联网 发布:mac怎么去掉dashboard 编辑:程序博客网 时间:2024/06/16 11:30
实现:输入任意一个行数,实现该行数的金字塔
*
***
*****
*******
步骤1:
分析(以4行金字塔为例子):每一行先打印出空格,然后打印出*;每行的空格依次是3-->2-->1-->0,每行的*依次是1-->3-->5-->7
从分析可以两个for循环可以分别实现每行要打印出的,简要写出算法
lay //行数
for(int rowLine=1;rowLine<=lay;rowLine++) //rowLine为当前行
{
打印出当前行的空格
打印出当前行的*
System.out.println("");
}
打印出当前行的空格:3、2、1、0,那么对应for循环应该是
for(int i=1;i<=lay-rowLine;i++) // (层数-当前行数)为当前行需要打印出的空格
{
System.out.print(" ");
}
打印出当前行的*:1,,3,5,7,那么对应的for循环应该是
for(int j=1;j<=2*rowLine-1;j++)// (当前行*2-1)为当前需要行需要打印出的*个数
{
System.out.print("*");
}
经过以上分解后,整个步骤就非常清晰了
步骤2:
输入任意层数实现
这个地方需要调用扫描
import java.util.Scanner;
Scanner sc=new Scanner(System.in);
lay = sc.nextInt();
具体代码实现
import java.util.Scanner;class Pyramid{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.print("请输入行数:");int lay = sc.nextInt(); //层数for(int rowLine=1;rowLine<lay+1;rowLine++){//先打出空格,1>3,2>2,3>1,4>0for(int nulNum=1;nulNum<=lay-rowLine;nulNum++){System.out.print(" ");}//打出*,每层个数打出来 1>1;2>3;3<5;4<7;for(int AsteriskNum=1;AsteriskNum<=rowLine*2-1;AsteriskNum++) {System.out.print("*");}System.out.println("");}}}
阅读全文
0 0
- java每日一练(金字塔算法实现)
- java算法每日一练
- 算法每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- java每日一练
- Java基础之运算符
- 第十周训练总结(二)
- 【git】常用的命令
- Matlab fftshift 详解
- 阶乘
- java每日一练(金字塔算法实现)
- python入门基础----基本数据类型
- [2017纪中11-5]仔细的检查 树hash
- spring mvc4使用及json 日期转换解决方案
- 算法导论之栈
- ajax和json
- java环境设置
- 数据库索引详解
- c++ hook 钩子的使用介绍