java打印空心菱形

publicclassdemo11{publicstaticvoidmain(String[]args){intlay=4;//上三角for(inti=1;i<=lay;... public class demo11
{
public static void main(String[] args)
{

int lay=4;

//上三角

for(int i=1;i<=lay;i++)
{
for(int k=1;k<=lay-i;k++)

System.out.print(" ");

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

//
if(i==1||i==lay)
System.out.print("*");

else

//如果是第一个*

if(j==1||j==(i-1)*2+1)

System.out.print("*");

else
System.out.print(" ");

// System.out.print("*");

// System.out.println("");

//打出一个换行
System.out.println();

}

//下三角

for(int i=lay;i>0;i--)
{
//打印空格,每行有lay-i个空格
for(int k=0;k<lay-i;k++)

System.out.print(" ");

//打印*,每行有(i-1)*2+1个*
for(int j=1;j<=(i-1)*2+1;j++)

//
if(i==1)
System.out.print("*");

else

//如果是第一个*

if( j==1||j==(i-1)*2+1)

System.out.print("*");

else
System.out.print(" ");

// System.out.print("*");

//打出一个换行
System.out.println();
}

}

}

怎么改成空心菱形?求大神详解?
展开
 我来答
趣事情
推荐于2017-09-02 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部

Java利用for循环输出空心菱形的实例代码

编写程序,在控制台上输出空心菱形,对角距离为6.

代码如下:
public class Diamond {
    public static void main(String[] args) {
        printHollowRhombus(6);
    }

    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("");     //换行
        }
    }
}

效果如图:

百度网友3cf1f57
2014-11-21 · 超过75用户采纳过TA的回答
知道小有建树答主
回答量:238
采纳率:100%
帮助的人:125万
展开全部
package bean;

public class demo11 {
public static void main(String[] args) {
int lay = 4;
// 上三角
for (int i = 1; i <= lay; i++) {
for (int k = 1; k <= lay - i; k++)
System.out.print(" ");
// 打印*
for (int j = 1; j <= (i - 1) * 2 + 1; j++)
//
if(i == lay && j == 1){
System.out.print("*");
}else if (i == 1)
System.out.print("*");
else
// 如果是第一个*
if (j == 1 || j == (i - 1) * 2 + 1)
System.out.print("*");
else
System.out.print(" ");
// System.out.print("*");
// System.out.println("");
// 打出一个换行
System.out.println();
}
// 下三角
for (int i = lay; i > 0; i--) {
// 打印空格,每行有lay-i个空格
for (int k = 0; k < lay - i; k++)
System.out.print(" ");
// 打印*,每行有(i-1)*2+1个*
for (int j = 1; j <= (i - 1) * 2 + 1; j++)
//
if (i == 1)
System.out.print("*");
else
// 如果是第一个*
if (j == 1 || j == (i - 1) * 2 + 1)
System.out.print("*");
else
System.out.print(" ");
// System.out.print("*");
// 打出一个换行
System.out.println();
}
}
}
追问

这种效果的,上三角的底层和下三角的顶层

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
烂人0429
2019-04-21
知道答主
回答量:3
采纳率:0%
帮助的人:2128
展开全部

                                            三个for循环打印打印任意边长菱形

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("请输入你要打印的空心菱形的边长:");
    int s= sc.nextInt();
    int a=s+1;
    int b=s-1;
    int c=2*b+a;
    int d=s*2-1;
    for (int i=1;i<=d;i++){
        if (i<=b){
            for (int j=1;j<=d;j++ ){
                if (j==b+i||j==a-i){
                    System.out.print(" * ");
                }else {
                    System.out.print("   ");
                }
            }
        }else {
            for (int k=1;k<=d;k++){
                if (k==i-b||k==c-i){
                    System.out.print(" * ");
                }else {
                    System.out.print("   ");
                }
            }
        }
        System.out.println();
    }
}
效果图:请输入你要打印的空心菱形的边长:5
             *             
          *     *          
       *           *       
    *                 *    
 *                       * 
    *                 *    
       *           *       
          *     *          
             *             

Process finished with exit code 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式