加载中…
个人资料
学者之星
学者之星
  • 博客等级:
  • 博客积分:0
  • 博客访问:9,080
  • 关注人气:39
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java程序代码“打印菱形”

(2016-12-19 09:48:33)
标签:

计算机

编程开发

java

分类: 编程开发篇
一、java实例:

http://s9/mw690/002E9Pdjzy76hg48Uo8f8&690

题目:输入行数,打印菱形

输入行数,打印倒直角三角形

1、从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出菱形;否则提示用户输入奇数。

2、假设用户输入的行数为rows,则每行的*号依次为1、3、5、7、....、rows、....、7、5、3、1,如例子所示:

例子:
请输入菱形行数:4
请输入奇数:6
请输入奇数:7

二、实现思路:

1、利用while循环判断用户输入的是否为奇数。

2、分步打印,先打印菱形的上半部分,即一个等腰三角形,行数为(rows+1)/2。根据上一个练习的分析,我们可以得到外层循环和两个内层循环的循环条件。

3、打印菱形的下半部分,打印完一行换行。

三、程序代码:

import java.util.Scanner;

public class ljp46{

    public static void main(String[] args){

        Scanner input=new Scanner(System.in);

        System.out.println("请输入菱形的行数:");       

        int hs=input.nextInt();//控制台输入菱形的行数

        while(hs%2==0){

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

            hs=input.nextInt();

        }

                  

        //打印上半部分

        for(int i=1;i<=(hs+1)/2;i++){//打印第几行

 

            //打印空格

            for(int j=1;j<=(hs+1)/2-i;j++){//第一次5-1=4;第二次5-2=3;第三次5-3=2;以此类推

                System.out.print(" ");         

            }

 

            //打印*

            for(int j=1;j<=i+i-1;j++){//第一次1+1-1=1;第二次2+2-1=3;第三次3+3-1=5;以此类推

                System.out.print("*");    

            }

            System.out.print("\n");  

        }

 

        //打印下半部分

        for(int i=1;i<=(hs-1)/2;i++){//打印第几行

 

            //打印空格

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

                System.out.print(" ");         

            }

 

            //打印*

            for(int j=1;j<=hs-(i+i);j++){//第一次7-(1+1)=5;第二次7-(2+2)=3;第三次7-(3+3)=1

                System.out.print("*");    

            }

            System.out.print("\n");  

        }

    }

}

                 

四、结果输出:


本教程由学者之星原创,如需转载其他网站请注明原处网址:http://blog.sina.com.cn/linjpwz

对教程代码有疑问或不解可回帖咨询!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有