怎么用JAVAPrint出一个杨辉三角

绝风 2013-08-21 11:41:08
求代码,刚学JAVA用ECLIPSE
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
2013-08-22
  • 打赏
  • 举报
回复
引用 3 楼 u011775691 的回复:
@fortheother 哈哈,你是怎么让它居中Print的呢,我的只能靠左,比如 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
//输出 for(int m=0;m<i;m++) { for(int t=0;t<i-m;t++) { P(" "); } 打印之前,先在前面打印一些空格就好了。这一段就是打印那些空格的。
绝风 2013-08-22
  • 打赏
  • 举报
回复
@fortheother 哈哈,你是怎么让它居中Print的呢,我的只能靠左,比如 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
绝风 2013-08-22
  • 打赏
  • 举报
回复
谢谢啊,学习了,我自己独立写一下哈哈,不懂的就看你的
2013-08-22
  • 打赏
  • 举报
回复
package cn.dzr.testnumber;

import java.util.Scanner;

public class Test
{
	public static void main(String[] args)
	{
		P("请输入要打印的的杨辉三角的层数: (最小为3)\n");
		Scanner s = new Scanner(System.in);

		int i;
		while((i = s.nextInt())<3)
		{
			P("请重新输入..\n");
		}		
		s.close();
		
		int[][] arr =new int[12][];
		arr[0] = new int[1];
		arr[0][0] = 1;
		arr[1] = new int[2];
		arr[1][0] = 1;
		arr[1][1] = 1;
		
		for(int k =2;k<i;k++)
		{
			arr[k] = new int[k+1];
			
			for(int j=1;j<=k/2;j++)
			{
				arr[k][0] = 1;
				arr[k][k] = 1;
				arr[k][j] = arr[k-1][j]+arr[k-1][j-1];
				arr[k][k-j] = arr[k][j];			
			}
		}
		
		//输出
		for(int m=0;m<i;m++)
		{
			for(int t=0;t<i-m;t++)
				{
					P(" ");
				}
			for(int val:arr[m])
			{
				
				P(val);
				P(" ");
			}
			P("\n");
		}
		
		
	}
	
	public static <T> void P(T t)
	{
		System.out.print(t);
	}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧