微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2ME >

在屏幕上用*输出n行金字塔图案

时间:2016-12-23 03:34  浏览:努力统计中...
老师说用二重循环,我刚学不会,请高人搭救(用java) 外层循环负责控制N行,内层循环负责输出空格和星号(根据外层循环层级,配合if)。 这个还是自己尝试写代码吧,不要直接求
老师说用二重循环,我刚学不会,请高人搭救(用java)

外层循环负责控制N行,内层循环负责输出空格和星号(根据外层循环层级,配合if)。

这个还是自己尝试写代码吧,不要直接求成品,对你自己没帮助。

一点思绪都没有,我想到用递归,但是还没学,能给个关键代码吗?


给你一个代码吧;你自己参考一下;
public class Jinzita {

/**
* 输出金字塔
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//金字塔的阶梯行数
int line=30;

//每个阶梯的砖
int num=1;

//i控制行数
  for(int i=1;i<=line;i++){
 
  //j循环控制打印空格;
  for(int j=0;j<line-i;j++){
  System.out.print(" ");
  }
 
  //k循环控制打印*
  for(int k=0;k<num;k++)
  {
  System.out.print("*");
  }
 
  //换行
  System.out.print("\n");
 
  num+=2;
  }
}

}


就像我以前一样

//换行
  System.out.print("\n");
就可以呀


Java code
//递归么 public static void main(String[] args) { sf(5); } static void sf(int i) { sf(i,1); } static void sf(int i,int k){ if(k>i)return; printfB(" ",i-k); printfB("*",k*2-1); System.out.println(""); sf(i,k+1); } static void printfB(String k, int i) { if (i < 1) { return; } System.out.print(k); printfB(k, i - 1); }

//这个更短一点
Java code

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------