用Java编写一个程序可以打印如下三角形

一定要有详细的说明才行!... 一定要有详细的说明才行! 展开
 我来答
yanhaixu1314
2014-02-08 · TA获得超过398个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:142万
展开全部

首先要分析业务逻辑:

打印10行的三角 

  1. 第0行打印10个空格,   打印1个*    打印0个空格,  (打印0个* 此处判断,如果i=0,就不打印*)

  2. 第1行打印9个空格 ,    打印1个*    打印1个空格,  打印1个*

  3. 第2行打印8个空格,     打印1个*    打印3个空格,  打印1个*

  4. 第3行打印7个空格,     打印1个*    打印5个空格,  打印1个*

  5. .......

  6. 第i行打印10-i个空格,  打印1个*    打印2*i-1个空格  打印1个*

  7. 最后一行,打印2*10-1个*即可

完整代码如下,验证OK,可以任意修改需要打印的行数

 

public class SanJiao {
 public static void main(String args[]) {
  int num = 10;//打印行数
  printSanJiao(num);
 }

 private static void printSanJiao(int num) {
  for (int i = 0; i < num; i++) {//打印行数
   for (int n = num - i; n > 0; n--) {//打印左边的空格
    System.out.print(" ");
   }
   System.out.print("*");//打印一个*
   for (int j = 0; j < 2 * i - 1; j++) {//打印中间的空格
    System.out.print(" ");
   }
   if(i == 0){//判断是否为第一行,如果是,就打印空,否则就打印*
    System.out.println();
   }else{
    System.out.println("*");
   }
  }
  for(int m=0; m<2*num+1; m++){//最后一行全部打印*
   System.out.print("*");
  }
 }
}

北京合创芯彩科技
2024-08-22 广告
在线打印公司有很多,其中推荐如下:* 易绘创校园打印站。该小程序提供自助操作,用户可以自己上传文件,系统会自动计算价格,下单后即可开始打印。其打印价格便宜,黑白A4纸仅需5分钱单面,7分钱/张。此外,该小程序还提供当日发货服务,售后态度也很... 点击进入详情页
本回答由北京合创芯彩科技提供
arache
2014-02-09 · TA获得超过212个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:171万
展开全部
import java.util.Arrays;

public class Triangle {
    public int height;
    public char CHAR_TO_PRINT = '*';

    public Triangle(int height) {
        this.height = height;
    }

    public void printTriangle() {
        int width = 1 + 2 * (height -1);   // 总共宽度
        char[] line = new char[width];   // 每一行用一个char数组表示

        for (int i = 0; i < height - 1; i++) {  // 循环到倒数第2行为止
            Arrays.fill(line, ' ');  // 每次循环先把数组用空格填满
            line[height -1-i] = CHAR_TO_PRINT;  // 计算左边的*应该对应数组哪一个位置
            line[width- height +i] = CHAR_TO_PRINT;  // 计算右边*应该对应数组哪一个位置
            System.out.println(new String(line)); // 打印这个数组
        }

        Arrays.fill(line, CHAR_TO_PRINT);  // 最后一行全用*填充
        System.out.println(new String(line)); // 打印最后一行
    }

    public static void main(String[] args) {
        Triangle t = new Triangle(7);
        t.printTriangle();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-02-09 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
很简单呀,13个星星,每一行,一共7行,从第一行到最后一行找规律咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式