A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 zxj35986847 于 2015-5-12 09:57 编辑

直接上代码.没事可以进来绕几圈.哈哈.给技术啊.管理们...  要考黑马啊......谢谢了.
/*
        for循环输出空心菱形
        设计过程:
                        1.创建Diamond类,在该类的主方法中调用printHollowRhombus()方法完成10行的空心菱形的输出。
                        2.其中printHollowRhombus()方法是自定义的,该方法使用两个双侧for循环分别输出菱形的上半部分和下半部分。
*/
public class Diamond{
        
        public static void main(String[] args){
        
                printHollowRhombus(10);
               
        }
        
        public static void printHollowRhombus(int size){
                if(size%2==0){
                        size++;
                }
                for(int i=0;i<size/2+1;i++){
                        for(int j=size/2+1;j>i+1;j--){
                                //输出左上角位置的空白
                                System.out.print(" ");
                        }
                        for(int j=0;j<2*i+1;j++){
                                if(j==0||j==2*i){
                                        //输出菱形上半部边缘
                                        System.out.print("*");
                                }else{
                                        //输出菱形上半部空心
                                        System.out.print(" ");
                                }
                        }
                        System.out.println("");
                }
                for(int i =size/2+1;i<size;i++){
                        for(int j=0;j<i-size/2;j++){
                                //输出菱形左下角空白
                                System.out.print(" ");
                        }
                        for(int j=0;j<2*size-1-2*i;j++){
                                if(j==0||j==2*(size-i-1)){
                                        //输出菱形下半部边缘
                                        System.out.print("*");
                                }else{
                                        //输出菱形下半部空心
                                        System.out.print(" ");
                                }
                        }
                        System.out.println("");
                }
        }
}

针对有人说这个代码麻烦,我这还有个版本.发下,看看这个能简单点?
这个加入了键盘录入的效果.

package com.ifuwant;

import java.util.Scanner;

public class Tests {

        public static void main(String[] args) {

                Scanner sc = new Scanner(System.in);

                System.out.println("请输入菱形边长:");

                int num = sc.nextInt();

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

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

                                System.out.print(" ");

                        }

                        int count = 2 * i - 1;

                        for (int k = 0; k < count; k++) {

                                if (0 == k || count - 1 == k)

                                        System.out.print("*");

                                else

                                        System.out.print(" ");

                        }

                        System.out.println("");

                }

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

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

                                System.out.print(" ");

                        }

                        int count = 2 * (num - i) - 1;

                        for (int k = 0; k < count; k++) {

                                if (k == 0 || k == count - 1)

                                        System.out.print("*");

                                else

                                        System.out.print(" ");

                        }

                        System.out.println("");

                }

        }

}




31 个回复

倒序浏览
不错!但是你不觉得你的代码过于多了么
回复 使用道具 举报
写的很好,来学习一下
回复 使用道具 举报
我更倾向于直接用输出语句来输出一个钻石
回复 使用道具 举报
for循环输出空心菱形,用的很好
回复 使用道具 举报
lixunwen 发表于 2015-5-7 15:02
不错!但是你不觉得你的代码过于多了么

如何简化?
回复 使用道具 举报
wangyu 发表于 2015-5-7 19:36
我更倾向于直接用输出语句来输出一个钻石

是哈.还是你聪明
回复 使用道具 举报
楼主不错,赞一个哈
回复 使用道具 举报
397543420 发表于 2015-5-8 07:22
楼主不错,赞一个哈

谢谢.

就是发点有意思的看看.

呵呵
回复 使用道具 举报
真高级没看懂
回复 使用道具 举报
回复 使用道具 举报

{:2_32:}{:2_32:}


多看看就好了..
回复 使用道具 举报
可以继续优化的其实看起来
回复 使用道具 举报 1 0
柒仴、看雲佉 发表于 2015-5-8 21:08
可以继续优化的其实看起来

怎么优化?  求代码.
回复 使用道具 举报
顶一个。
回复 使用道具 举报
回复 使用道具 举报
不错,顶一个.你是个追求完美的吗
回复 使用道具 举报
马鹏涛 发表于 2015-5-10 22:27
不错,顶一个.你是个追求完美的吗

算是吧.呵呵.比较喜欢漂亮的格式.怎么了?
回复 使用道具 举报
顶一个,
回复 使用道具 举报
思想是程序员的方向感 加油
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马