java输入奇数得菱形_Java50道经典习题-程序19 输入行数打印菱形图案

该博客介绍了一道Java编程练习题,即根据用户输入的奇数行数绘制菱形图案。通过双重for循环实现,上半部分和下半部分分别遵循不同的规律。用户输入行数需为奇数,否则提示重新输入。
摘要由CSDN通过智能技术生成

题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户从新输入,例如输入数字7打印出以下菱形图案

*

***

*****

*******

*****

***

*

分析:先把图形分红两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

import java.util.Scanner;

public class Prog19 {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.println("请输入要打印的菱形图案的行数(输入的行数必须大于等于3):");

int rows=input.nextInt();

while(rows%2==0) {

System.out.println("请输入奇数:");

rows=input.nextInt();

}

input.close();

int n=(rows+1)/2;//上半部分等于行数的一半

//打印菱形的上半部分

for(int i=1;i<=n;i++) {

for(int j=1;j<=n-i;j++) {//打印空格

System.out.print(" ");

}

for(int k=1;k<=(2*i-1);k++) {//打印*号

System.out.print("*");

}

System.out.println();//换行

}

//打印菱形的下半部分

for(int i=n-1;i>=1;i--) {//这里使用n-1是由于下半部分比上半部分少1行

for(int j=1;j<=n-i;j++) {//打印空格

System.out.print(" ");

}

for(int k=1;k<=2*i-1;k++) {//打印*号

System.out.print("*");

}

System.out.println();//换行

}

}

}

/*运行结果

请输入要打印的菱形图案的行数(输入的行数必须大于等于3):

7

*

***

*****

*******

*****

***

*

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值