用java打印菱形。

*************************... *
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
展开
 我来答
加百列windy
高粉答主

推荐于2019-11-11 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:91.2万
展开全部

一、整体实现思路:菱形9行9列可以将菱形分成上下两个三角形,分析每行空格数和星号个数的关系。

二、一个三角形的实现思路:以输出一个空心三角形为例:

(1)空格的输出按-1递减,字符的输出按等差数列,公差为2

(2)判断第一行和最后一行照常输出。

(3)中间行仅输出两个字符。

三、菱形分实心和空心两种,其代码及解析分别如下:

(一)实心菱形。

1、函数代码:

2、执行效果:

(二)空心菱形:

1、函数代码如下:

2、执行效果:

扩展资料:

java打印的输出方式解析:

1、print():print就是一般的标准输出,但是不换行。

2、println():println和print基本没什么差别,就是最后会换行。

要分辨清楚System.out.print()和System.out.println()的区别。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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3127a62
推荐于2017-10-05 · 超过12用户采纳过TA的回答
知道答主
回答量:165
采纳率:0%
帮助的人:40.6万
展开全部
打印出如下图案(菱形)

*
***
*****
*******
*****
***
*

public static void main(String[] args) {

int m =7;
for (int i = 0; i < m; i++) {
int t =0; //t是用来存放距离边界需要多少空格
if (i >= m / 2) {// >是m为奇数的情况下的判断,=是m为偶数的情况下的判断,这里将过半的那些i值转换为与它对称的i值
t = m - 1 - i;
}else{
t = i;
}
for (int j = 1; j <= m; j++) {
if (j >= (m + 1) / 2 - t && j <= (m + 1) / 2 + t) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.print("\n");
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
维纳斯之幻翼
游戏玩家

2019-12-23 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:7863
采纳率:72%
帮助的人:446万
展开全部
用JAVA打印菱形打印出来的话,一般都是比较好看的,比较有一种规律敢,所以说打出来的话也是非常优美的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-08-17
展开全部
public class Test8 {

/**
* 打印如下图形:
* *
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
*/
public static void main(String[] args) {
// j控制行,i控制列
for (int i = 0; i < 8; i++) {
if (i % 2 == 0) {
for (int j = 0; j < 9 - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < (i + 1); j++) {
System.out.print('*' + " ");
}
System.out.println();
}
}
// 中部以及下半部分
for (int i = 0; i < 8; i++) {
if (i % 2 == 0) {
for (int j = 0; j < 4 + i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 5 - i; j++) {
System.out.print(" *");
}
System.out.println();
}

}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式