在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 展开
********************************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 展开
5个回答
展开全部
你好,代码如下,与你图中的一模一样:
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)) ;
}
}
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)) ;
}
}
展开全部
现编的 完全符合你的要求 你看看吧
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("");
}
}
}
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("");
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
}
}
}
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();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
杨辉三角形
主要用FOR循环来做
主要用FOR循环来做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个叫做杨辉三角形
算法网上有现成的
你可以先实现打印菱形图案
以后多交流
谢谢请给最佳
算法网上有现成的
你可以先实现打印菱形图案
以后多交流
谢谢请给最佳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询