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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄方 中级黑马   /  2012-3-17 15:33  /  1744 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:打印出杨辉三角形(要求打印出10行如下图)                  1         
                                                                                         1    1      
                                                                                      1    2    1      
                                                                                   1    3    3    1 
                                                                                1    4    6    4    1   
                                                                             1    5    10    10    5    1 
                                                                                           …………
你是如何控制数字与数字之间空格的个数的?整个程序用到了几个循环呀?

4 个回复

倒序浏览
预备黑马-张晓 发表于 2012-3-17 21:14
class TestT
{

你这只是打印三角形的*哦!
回复 使用道具 举报
  1. public class YhuiTest {
  2.         public static void main(String[] args){
  3.                 final int Row = 6;
  4.                 int yh[][] = new int[Row][Row];
  5.                 for (int i = 0; i < Row; i++) {
  6.                                 yh[i][0] = 1;
  7.                                 yh[i][i] = 1;
  8.                 }
  9.                 for (int i = 2; i < Row; i++) {
  10.                         for (int j = 1; j < Row; j++) {
  11.                                 yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
  12.                         }
  13.                 }
  14.                 for (int i = 0; i < Row; i++) {
  15.                         for (int j = 0; j <= i; j++) {
  16.                                 System.out.print(yh[i][j] + " ");
  17.                         }
  18.                         System.out.println();
  19.                 }
  20.         }
  21. }
复制代码
回复 使用道具 举报

package cn.com.testarray;
import java.util.*;
public class TestYangHui {

/**
* 杨辉三角
*/
public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入需打印杨辉三角的行数");
        int l=sc.nextInt();
        
   TestYangHui test=new TestYangHui();
   test.testMethod(l);
           
           
}

public void testMethod(int l){
   int [][] m=new int[l][l];
   for(int i=0;i<l;i++){
    for(int j=0;j<=i;j++){  //注意j的取值范围
     if(i==j){
      m[i][j]=1;
     }else if(j==0){
      m[i][j]=1;
     }else {
      m[i][j]=m[i-1][j-1]+m[i-1][j];
     
     
     }
    }
   }
   for(int i=0;i<l;i++){
    for(int j=0;j<=i;j++){
     System.out.print(m[i][j]+"\t");
     //System.out.println();
   
    }
    System.out.println(); //每打印完一行,再换行
   }
  
}

}

//打印图形时候,一般都要一行行的分析,一行行的打印
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马