编写程序,输入由’*‘组成的菱形的上半部分的行数,输出整个菱形的形状。

import java.util.Scanner;

public class Rhombus {

    public static void main(String[] args) {
        int n ;//定义行数
        int num=1;//定义每行的个数,第一行*数为1,所以初始值为1;
        System.out.print("请输入上半个菱形的行数:");
        Scanner scan=new Scanner(System.in);
        n=scan.nextInt();
        int[] number = new int[n];//定义数组放每行‘*’的个数

//把‘*’个数放入数组
        for(int i=0;i<=n-1;i++){
            
            number[i]=num;
            num=num+2;
            
        }
        //外面有一个大循环嵌套两个小循环
        for(int i=0;i<=number[n-1];i=i+2){
            //先输出该行需要的空格
            for(int j=number[n-1]-1;j>=i;j=j-2){
                System.out.print(" ");
        }

//然后输出该行需要的‘*’
            for(int k=0;k<=i;k++){
                System.out.print("*");
            }
            System.out.println(" ");//换行
    } 

//同上面的想法类似,就是把上面大的三角形倒过来并且把最后一行去掉
        for(int a=0;a<=number[n-1];a=a+2){
            for(int b=0;b<=a+2;b=b+2){
                System.out.print(" ");
            }
            for(int c=number[n-2];c>a;c--){
                System.out.print("*");
        }
            
            System.out.println(" ");
        }
    }
}

这是经过多次试验没有问题的代码,如果有更简单的欢迎在下面留言(*^▽^*)。

或者哪里不懂,没有解释清楚的欢迎提问O(∩_∩)O。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值