import java.util.Scanner;
/**
* Created by Nicole Cao on 2018/7/17.
*/
public class Lingxing1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要打印的菱形中间的行数:");
int num = input.nextInt();
lingxing1(num); //方法一
lingxing2(num); //方法二
}
/**
* 《方法一》
* 算法思想: 假设菱形中间的行数为 L(该L为已知的输入数), 行数为N(行数从1开始),根据菱形的规律可得出,
* 菱形的上半边:每行需要输入(L-N)个空格“ 用b代替空格”和(2N-1)个星号“用*代替星号”。
* 即菱形的上半边每一行需要输出的公式为:
* 上半边菱形输出 = (L-N)b + (2N-1)* (公式一)
*
* 菱形的下半边是上半边的倒叙,例如(L+1)行的输出等于(L-1)行的输出,(L+2)=(L-2),以此类推。
* 可知:(N-L)是当前行数与中间行数的行差, L-(N-L)则是与当前行相等的上半边菱形的行数,
JAVA 实现菱形输出
最新推荐文章于 2022-11-11 15:51:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)