在Java中实现数字金字塔

***********************************1********************************2**1**2**********... ***********************************1
********************************2**1**2
*****************************3**2**1**2**3
**************************4**3**2**1**2**3**4
***********************5**4**3**2**1**2**3**4**5
********************6**5**4**3**2**1**2**3**4**5**6
*****************7**6**5**4**3**2**1**2**3**4**5**6**7
**************8**7**6**5**4**3**2**1**2**3**4**5**6**7**8
***********9**8**7**6**5**4**3**2**1**2**3**4**5**6**7**8**9
*******10**9**8**7**6**5**4**3**2**1**2**3**4**5**6**7**8**9*10
****11*10**9**8**7**6**5**4**3**2**1**2**3**4**5**6**7**8**9*10*11
*12*11*10**9**8**7**6**5**4**3**2**1**2**3**4**5**6**7**8**9*10*11*12
展开
 我来答
568145421
2011-10-08 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6756

向TA提问 私信TA
展开全部
你好,代码如下,与你图中的一模一样:
public class Pyramid {

/*
* param h 金字塔高
* 返回 金字塔矩阵
*/
public static String[][] getPyramid(int h){
//根据图像可以观察只
//每一个数据都是有*和数字组成 而且规律是:
//如果数子长度为1,那么前面有两个*
//如果数子长度为2,那么前面有一个*
//根据高度来计算数组的宽度
int w = 1 + (h-1)*2 ;
//
String[][] array = new String[h][w] ;

for(int i = 0;i<h;i++){
for(int j=0;j<w;j++){
if(j<h-i-1){
array[i][j] = "***";
}else if(j<h){
if((h-j)>9){
array[i][j] = "*" + (h-j) ;
}else{
array[i][j] = "**" + (h-j) ;
}
}else if(j<h+i){
if((h-j)>9){
array[i][j] = "*" + (j-h+2) ;
}else{
array[i][j] = "**" + (j-h+2) ;
}
}else{
array[i][j] = "";
}
}
}

return array ;
}

public static void print(String[][] array){
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
System.out.print(array[i][j]) ;
}
System.out.println();
}
}

public static void main(String[] args) {
print(getPyramid(12)) ;
}
}
〖heaven〗a018cd
2011-10-08 · TA获得超过217个赞
知道答主
回答量:80
采纳率:100%
帮助的人:48.6万
展开全部
现编的 完全符合你的要求 你看看吧

import java.util.*;

public class Test {

public static void main(String[] args) {
System.out.println("输入一所需要三角形层数");
int a = new Scanner(System.in).nextInt();
for(int i=1; i<=a; i++) {
for(int j=(a-i)*3-1; j>=0; j--) {
System.out.print("*");
}
for(int j=i; j>=1; j--) {
if(j<10)System.out.print("**");
else System.out.print("*");
System.out.print(j);
}
for(int j=2; j<=i; j++) {
if(j<10)System.out.print("**");
else System.out.print("*");
System.out.print(j);
}
System.out.println("");
}

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
燕化龙
2012-08-26
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
import java.util.Scanner ;
public class Pyramid {
public static void main(String[] args) {
System.out.print("Enter the number of lines : ") ;
Scanner input = new Scanner(System.in ) ;
int m = input.nextInt();
if (m < 1 || m > 15) {
System.out.println("You must enter a number from 1 to 15");
System.exit(0);
}
// Print lines
for (int row = 1; row <= m; row++) {
// Print NUMBER_OF_LINES - row leading spaces
for (int column = 1; column <= m - row; column++)
System.out.print("**");
// Print leading numbers row, row -1, ..., 1
for (int num = row; num >= 1; num--)
System.out.print((num >= 10) ? "**" + num : "**" + num);
// Print ending numbers 2, 3, ..., row - 1, row
for (int num = 2; num <= row; num++)
System.out.print((num >= 10) ? "**" + num : " **" + num);
// Start a new line
System.out.println();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bf750b0
2011-10-08 · TA获得超过147个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:80.6万
展开全部
杨辉三角形
主要用FOR循环来做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lansefly
2011-10-08 · TA获得超过275个赞
知道小有建树答主
回答量:549
采纳率:50%
帮助的人:224万
展开全部
这个叫做杨辉三角形
算法网上有现成的
你可以先实现打印菱形图案
以后多交流
谢谢请给最佳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式