您好!我沒有懂您為什么這么寫,我寫了一個(gè)簡(jiǎn)單易懂的,代碼如下:
為青山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及青山網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、青山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
System.out.println("????*");
System.out.println("???* *");
System.out.println("??*???*");
System.out.println("?*?????*");
System.out.println("*********");
System.out.println("*???????*");
System.out.println("*???????*");
System.out.println("*???????*");
System.out.println("*???????*");
格式有問題。。。,您看圖吧:
按照你的要求加詳細(xì)注釋的圣誕樹Java程序如下:(編程思想在注釋中說明)
public?class?ShengDanShu2?{
//這個(gè)程序的編程思想是利用對(duì)for循環(huán)變量i的控制達(dá)到一層循環(huán)代替雙層循環(huán)的目的
public?static?void?main(String[]?args)?{????
int???n=5;???//初始化打印圣誕樹層數(shù)變量n
int???a=0;???//初始化打印前置空格數(shù)變量a
int???b=0;???//初始化打印星號(hào)數(shù)變量b
for(int?i=1;i?=n;i++){???//打印n層圣誕樹
if(a!=(n-i)){????//如果前置空格數(shù)不等于n-i
System.out.print("?");?//打印一個(gè)空格
a++;????//前置空格數(shù)加一???
i=i-1;????//i變量減一??目的是固定住i變量不變直到a==n-i
}else?if(b!=(2*i-1)){???//如果星號(hào)數(shù)不等于2*i-1
System.out.print("*");??//打印一個(gè)星號(hào)
b++;????//星號(hào)數(shù)加一
i=i-1;???//i變量減一??目的是固定住i變量不變直到b==2*i-1
}else?if(a==(n-i)??b==(2*i-1)){//當(dāng)以上兩個(gè)條件都滿足時(shí),換行初始化a和b為0???
System.out.println();??//打印換行?
a=0;???//對(duì)新的一行重新初始化前置空格數(shù)變量a
b=0;??//對(duì)新的一行重新初始化打印星號(hào)數(shù)變量b
//這里沒有控制for循環(huán)的i變量減一,因?yàn)檫@時(shí)i變量加一,開始新一行。
}???
}???
}?????
}
運(yùn)行結(jié)果:
*
***
*****
*******
*********
打印 * 號(hào)的時(shí)候不要用println,用print就行了
println是打印后換行,print則是直接打印
能。
1、點(diǎn)擊鼠標(biāo)右鍵,選擇新建選項(xiàng),然后點(diǎn)擊mircosoftofficeExcel2007選項(xiàng)新建一個(gè)Excel文件。
2、打開新建的Excel文件。選擇界面上方的開發(fā)工具選項(xiàng),然后點(diǎn)擊宏選項(xiàng)。
3、寫明VBA代碼名稱,然后點(diǎn)擊創(chuàng)建按鈕,寫入指定的VBA代碼,點(diǎn)擊插入一個(gè)按鈕控件,并命名為畫圣誕樹。
4、選中畫圣誕樹控件,然后點(diǎn)擊鼠標(biāo)右鍵,選擇指定宏。
5、將編寫的代碼指定至按鈕控件上,然后點(diǎn)擊確定按鈕,點(diǎn)擊一次按鈕控件,圣誕樹就自動(dòng)畫完了。代碼(code)是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號(hào)或信號(hào)碼元以離散形式表示信息的明確的規(guī)則體系。
把for-j循環(huán)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("請(qǐng)輸入樹的高度");
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();
}
}
}
運(yùn)行結(jié)果:
請(qǐng)輸入樹的高度
6
*
***
*****
*******
*********
***********
朋友 你說的最好一句話我沒明白?
你能具體說下嗎?最好弄個(gè)圖片。
我跟你說一下思路:就是用for循環(huán)就可以.
---給你答案 供你參考,倉(cāng)促寫的:
public class ChristmasTree {
int x = 2;
int i = 0;
public void tree() {
for(i=0; i3; i++) {
for(int j=x; j=0; j--) {
System.out.print(" ");
}
x--;
for(int k=0; k=i; k++) {
System.out.print("*"+" ");
}
System.out.println();
}
}
public static void main(String args[]) {
new ChristmasTree().tree();
}
}