真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java數(shù)字金字塔代碼 java 金字塔

用java的for循環(huán)編寫程序,輸出以下數(shù)字金字塔,最好帶注釋。

主要是每行的輸出問題,分別是每行的:空格,數(shù)字(包活從小到大跟從大到?。?,還有沒換行結(jié)尾的換行符,核心是弄清楚每行空格輸出數(shù)量跟行的關(guān)系,已經(jīng)數(shù)字的起始輸出已經(jīng)結(jié)束數(shù)字界定等;

鐘山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

核心for循環(huán)如下,本人用UltraEdit 測試,完美通過,完美輸出,類圖片個輸出界面也附下面了

for(n=1;?n=5;?n++)?{??????????//最外層循環(huán)控制輸出的行數(shù),分別是第一到第五行;

for(i=1;?i=5-n;?i++)?{????//這個循環(huán)控制每行前面的空格輸出,如:第一個前面輸出4個空格;

System.out.print("?");

}

for(j=?5-n+1;?j=5;?j++)?{?//?這個循環(huán)控制中間數(shù)字一直到5的輸出,如第一行一個5,第二行為4?5

System.out.print(j);

}

for(k=4;?k5-n;?k--)?{????//這個循環(huán)控制中間數(shù)字5之后的數(shù)字,如第一行不輸出任何,第二行為4

System.out.print(k);

}

System.out.print("\n");????//這個是本行輸出結(jié)束之后輸出一個換行符

}

怎樣用JAVA打印出下面下列數(shù)字金字塔

這是我看到的第三個相同的問題了

先給你講思路吧,首先這是個三角形,用3個FOR循環(huán)打印,一個控制行,一個控制前面的空格,一個控制后面打的東西。

如:

for(){//控制行數(shù)

for(){//控制每行前面的空格

}

for(){//控制每行所打的東西

}

}

例如光打個三角形的,不管里面的數(shù)字,那就這樣:

for(int?hang=0;hang6;hang++){//控制行(hang)

for(int?kongge=0;konggehang;kongge++){//控制前面空格

System.out.print("?");

}

for(int?neirong=6;neironghang;neirong--){//控制內(nèi)容

System.out.print("*");

}

System.out.println();//打印完一行換行

}

第三個FOR循環(huán)里面的neironghang(這個變量可以自己定,表示有對少內(nèi)容,這個是大于行數(shù),由行數(shù)來決定,因為行數(shù)循環(huán)一次增加一次,則內(nèi)容就減少一個)

上面是每打一行,則少一個內(nèi)容,而你的題目是少兩個,你數(shù)數(shù),你的第一行有11個,第二就有9個了。

那就這樣:

int?nr=11;//定義控制內(nèi)容個數(shù)的變量nr

for(int?hang=0;hang6;hang++){//控制行

for(int?kongge=0;konggehang;kongge++){//控制空格

System.out.print("?");

}

for(int?neirong=nr;neirong0;neirong--){//看,內(nèi)容等于nr

System.out.print("*");

}

nr=nr-2;//每循環(huán)完一次,nr減少2;

System.out.println();

}

看到了么第三個for循環(huán)里的neirong0,我寫的是0,也可以的,意思內(nèi)容由nr決定,第一次循環(huán)是11個數(shù)字,結(jié)束后nr-2,下一次循環(huán)就是9個數(shù)字了,以此類推

------------

好了,現(xiàn)在形狀已經(jīng)打印出來了,那就把里面的*改成變化的數(shù)字就可以了。首先你的數(shù)字是先是以3的倍數(shù)增加,然后到中間后,以3的倍數(shù)減少。你數(shù)數(shù),每行都是從最中間開始變的,中間那個數(shù)最大。

那首先我想到的是寫兩個方法,一個乘,一個除。

一下是兩個方法:

public?static?int?cheng(int?num1){

num1=num1*3;

if(num1==0){

num1=1;

}

return?num1;

}

public?static?int?chu(int?num1){

num1=num1/3;

return?num1;

}

現(xiàn)在方法寫了,我們直接帶入進(jìn)去就好了;

我給全部代碼:

public?class?San?{//類名三

public?static?int?cheng(int?num1){//靜態(tài)乘法方法

num1=num1*3;//帶入的參數(shù)乘3

if(num1==0){//判斷如果參數(shù)是0,則直接返回1

num1=1;

}

return?num1;//返回結(jié)果

}

public?static?int?chu(int?num1){//靜態(tài)方法除法

num1=num1/3;//參數(shù)直接除以3

return?num1;//返回結(jié)果

}

public?static?void?main(String[]?args)?{//程序入口main方法

int?nr=11;//定義初始內(nèi)容個數(shù),11個

for(int?hang=0;hang6;hang++){//第一個FOR循環(huán),控制行

int?chushi=0;//上面兩個參數(shù)的初始值0

for(int?kongge=0;konggehang;kongge++){//控制空格

System.out.print("\t");//打印空格

}

for(int?neirong=nr;neirong0;neirong--){//控制內(nèi)容

int?zhongjian=0;//定義最中間的數(shù)

if(nr%2!=0){//內(nèi)容個數(shù)除2有余,則除2+1

zhongjian=nr/2+1;

}else{//內(nèi)容沒有余數(shù),則直接除2

zhongjian=nr/2;

}

if(neirong=zhongjian){//如果內(nèi)容個數(shù)大于中間數(shù),則實(shí)行乘法

System.out.print(cheng(chushi)+"\t");

chushi=cheng(chushi);

}else{//如果內(nèi)容小于中間數(shù),則實(shí)行除法

System.out.print(chu(chushi)+"\t");

chushi=chu(chushi);

}

}

nr=nr-2;//換行,內(nèi)容個數(shù)減少2個

System.out.println();//換行

}

}

}

--------------------------

不知道你明白沒。

上面的中間數(shù)意思是說告訴程序哪里開始遞減。

比如第一行,有11個數(shù)字,到第6個數(shù)的時候停止再乘3,轉(zhuǎn)向除3,

那怎么得到6?那就用11/2,而這樣只能得到5,所以我上面用了判斷,如有有余數(shù)的話,就加上1,那中間數(shù)就得到6了,如果沒余數(shù),就直接除2,第二行就是10/2,得到了5,你看看中間是不是第5個丫。

下面我判斷如果neirong=zhongjian如果內(nèi)容大于中間數(shù)的話,就執(zhí)行乘法,不大于就執(zhí)行除法。

用實(shí)際例子說明:你的例子第一行,有11個數(shù),

那就是

1????3????9????27????81????243????81????27????9????3????1

11??10????9????8?????7?????6????5????4??????3????2????1

6以前的都是執(zhí)行乘法,5以后的都是執(zhí)行的除法餓。

你自己在仔細(xì)看看吧

剛看了這個問題,臨時想的方法,可能不怎么好,但是你也可以看一看。

如何用JAVA 編寫一個遞歸程序輸出如下數(shù)字金字塔

這個不用遞歸吧,幾個循環(huán)搞定了:

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

{

for ( int k=1; k=4-i; k++) System.out.print(" ");//輸出前導(dǎo)空格

for ( int j=1; j=i, j++) System.out.print(""+j);//輸出升序數(shù)字

for ( int m=i-1; m=1; m--) System.out.print(""+j);//輸出降序數(shù)字

System.out.print("\n"); //輸出換行符

}

用java把1-100這100個數(shù)字按順序排成金字塔形狀,盡量用最簡單的代碼實(shí)現(xiàn)

你好,除了直接用多個System.out.println(xxx);直接打印出三角形外,我的代碼最簡單,而且給足了注釋,可以直接運(yùn)行

public class t {

public static void main(String[] args) {

int no=1;//要打印的數(shù)

for(int i=1;no=100;i++){//第1行1個數(shù),第n行n個數(shù),結(jié)束條件是打印的數(shù)=100

for(int j=1;j=i;j++){

System.out.print(no+++"\t");

}

System.out.println();//轉(zhuǎn)行

}

}

}

結(jié)果:

1

2 3

4 5 6

7 8 9 10

11 12 13 14 15

16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31 32 33 34 35 36

37 38 39 40 41 42 43 44 45

46 47 48 49 50 51 52 53 54 55

56 57 58 59 60 61 62 63 64 65 66

67 68 69 70 71 72 73 74 75 76 77 78

79 80 81 82 83 84 85 86 87 88 89 90 91

92 93 94 95 96 97 98 99 100 101 102 103 104 105


標(biāo)題名稱:java數(shù)字金字塔代碼 java 金字塔
文章網(wǎng)址:http://weahome.cn/article/dojjsed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部