JAVA圣诞代码 java生日代码

java输入树的高度打印圣诞树 我的代码如下 但打印出来的*都不在同一行

打印 * 号的时候不要用println,用print就行了

创新互联建站主营光山网站建设的网络公司,主营网站建设方案,重庆App定制开发,光山h5小程序制作搭建,光山网站营销推广欢迎光山等地区企业咨询

println是打印后换行,print则是直接打印

java打印圣诞树代码求纠错,第一张图是题目,第二张是我的运行结果

把for-j循环for(int j=1;j=height-1;j++)改成for(int j=1;j=height-i;j++)

即j=height-1;改成j=height-i;

完整的Java程序如下:

import java.util.Scanner;

public class ShengDanShu {

public static void main(String[] args) {

int height;//树的高度

Scanner in = new Scanner(System.in);

System.out.println("请输入树的高度");

height = in.nextInt();

for(int i=1;i=height;i++)

{

//首先输出前面的空格

for(int j=1;j=height-i;j++)

{

System.out.print(" ");

}

//输出*

for(int k=1;k=2*i-1;k++)

{

System.out.print("*");

}

System.out.println();

}

}

}

运行结果:

请输入树的高度

6

*

***

*****

*******

*********

***********

java编打出5行圣诞树,求教每一步详细思想。下面是代码

按照你的要求加详细注释的圣诞树Java程序如下:(编程思想在注释中说明)

public class ShengDanShu2 {

//这个程序的编程思想是利用对for循环变量i的控制达到一层循环代替双层循环的目的

public static void main(String[] args) {    

int   n=5;   //初始化打印圣诞树层数变量n

int   a=0;   //初始化打印前置空格数变量a

int   b=0;   //初始化打印星号数变量b

for(int i=1;i =n;i++){   //打印n层圣诞树

if(a!=(n-i)){    //如果前置空格数不等于n-i

System.out.print(" "); //打印一个空格

a++;    //前置空格数加一   

i=i-1;    //i变量减一  目的是固定住i变量不变直到a==n-i

}else if(b!=(2*i-1)){   //如果星号数不等于2*i-1

System.out.print("*");  //打印一个星号

b++;    //星号数加一

i=i-1;   //i变量减一  目的是固定住i变量不变直到b==2*i-1

}else if(a==(n-i)  b==(2*i-1)){//当以上两个条件都满足时,换行初始化a和b为0   

System.out.println();  //打印换行 

a=0;   //对新的一行重新初始化前置空格数变量a

b=0;  //对新的一行重新初始化打印星号数变量b

//这里没有控制for循环的i变量减一,因为这时i变量加一,开始新一行。

}   

}   

}     

}

运行结果:

*

***

*****

*******

*********


标题名称:JAVA圣诞代码 java生日代码
本文URL:http://scyanting.com/article/dosicjh.html