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

本帖最后由 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 个回复

正序浏览
。。。。。。。。。。。。。。。。。。。
回复 使用道具 举报
思路比较好
回复 使用道具 举报

打印空心菱形的规律,是怎么找到的?
回复 使用道具 举报

:L


什么怎么做到的
回复 使用道具 举报
怎么做到的?
回复 使用道具 举报
liya7907 发表于 2015-5-12 22:56
暂时还没看懂,哎,想混口饭吃好难~

呵呵,时间长就好了.

都一样
回复 使用道具 举报
liya7907 发表于 2015-5-12 22:56
暂时还没看懂,哎,想混口饭吃好难~

呵呵,时间长就好了.

都一样
回复 使用道具 举报
luodim 发表于 2015-5-12 22:16
要判断的点还是很多的啊

呵呵  嗯嗯

看看
回复 使用道具 举报
守株人 发表于 2015-5-12 22:05
好厉害,长知识了

哈哈


就是娱乐
回复 使用道具 举报
暂时还没看懂,哎,想混口饭吃好难~
回复 使用道具 举报
要判断的点还是很多的啊
回复 使用道具 举报
好厉害,长知识了
回复 使用道具 举报
思想是程序员的方向感 加油
回复 使用道具 举报
顶一个,
回复 使用道具 举报
马鹏涛 发表于 2015-5-10 22:27
不错,顶一个.你是个追求完美的吗

算是吧.呵呵.比较喜欢漂亮的格式.怎么了?
回复 使用道具 举报
不错,顶一个.你是个追求完美的吗
回复 使用道具 举报
回复 使用道具 举报
顶一个。
回复 使用道具 举报
柒仴、看雲佉 发表于 2015-5-8 21:08
可以继续优化的其实看起来

怎么优化?  求代码.
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马