黑马程序员技术交流社区
标题:
求解:在屏幕上打印出n行的金字塔图案
[打印本页]
作者:
小丑的媳妇2
时间:
2013-3-5 11:33
标题:
求解:在屏幕上打印出n行的金字塔图案
求大侠:在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:
*
***
*****
*******
*********
如下是我自己运行通过的一个 代码如下;
public class PrintStar{
public static void main(String args[]){
int col = Integer.parseInt(args[0]);
for(int i=1;i<=col;i++){//i表示行数
//打印空格
for(int k=0;k<col-i;k++){
System.out.print(” “);
}
//打印
for(int m=0;m<2*i-1;m++){
System.out.print(“*”);
}
System.out.println();
}
}
细心的人可以看出来,这种方法复用性不强,我想用构造一个函数实现,求大侠指教,能不能给出可以运行的代码,多谢!
作者:
陈圳
时间:
2013-3-5 13:34
package Day23;
class Test2
{
public static void main(String[] args)
{
getNum(5);
}
public static void getNum(int n)
{
for(int i=1;i<=n*2;i++)
{
if(i%2!=0)
for(int j=0;j<i;j++)
System.out.print("*");
System.out.println();
}
}
}
是这样么?
作者:
王亚东
时间:
2013-3-5 15:32
public class Demo02 {
/*
*
***
*****
*******
*********
*/
public static void main(String[] args) {
new Demo02().print(5);
}
public void print(int col) {
for (int i = 1; i <= col; i++) {
//打印空格
for(int k=col-1;k>=i;k--){
System.out.print(" ");
}
for(int j = 1;j<=i*2-1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
复制代码
这样行吗
作者:
黑马_位志国
时间:
2013-3-5 15:38
本帖最后由 黑马_位志国 于 2013-3-5 15:49 编辑
public class Test{
public static void main(String[] args){
printStar(10);
}
public static void printStar(int num){
for(int i = 0; i < num; i++)
{
for(int j = 0; j <= i; j++)
{
if(i % 2 != 0)
continue;
System.out.print("*");
}
System.out.println();
}
}
}
不是规律的规律:
尖朝上,可以改变条件,让条件随着外循环变化;
尖朝下,可以初始化值,让初始化值随着外循环变化.
作者:
黑马17期-闫东东
时间:
2013-3-7 20:58
/*
*
* * *
* * * * *
* * * * * * *
分析
首先知道下面图形怎样得到
*
* * *
* * * * *
* * * * * * *
行。。。列
双层循环 外层控制行 里层控制列
0---1
1---3
2---5
3---7
2*line+(-)1
for(int i=0;i<4;i++){
for(int j=0;j<2*i+1;j++){
System.out.print("* ");
}
System.out.println();
}
将基本图形在前面补空格就得到下面图形
------* 1 1
----* * * 2 3
--* * * * * 3 5
* * * * * * *4 7
*/
class Test3
{
public static void main(String[] args)
{
for(int i=0;i<4;i++){
//控制星星前面的空格
for(int k=3;k>i;k--){
System.out.print(" ");
}
//控制列 打印星星的个数
for(int j=0;j<2*i+1;j++){
System.out.print("* ");
}
System.out.println();
}
}
}
个人感觉打印图形问题:可以先想到一般图形,然后用在打印空格,注意行和列的关系。
作者:
陈宇鹏
时间:
2013-3-8 21:21
内部是两个循环。
第一个用于打空格。
第二个用于打n
作者:
李晓峰
时间:
2013-3-19 16:47
学习了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2