第三章java流程控制語句_第1頁
第三章java流程控制語句_第2頁
第三章java流程控制語句_第3頁
第三章java流程控制語句_第4頁
第三章java流程控制語句_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第三章 java流程控制語句主講教師:毛科亮主講教師:毛科亮本章內(nèi)容語句概述 java語言的語句分類 結(jié)構(gòu)化程序設(shè)計的三種基本流程分支語句 if語句 if-else語句 switch語句循環(huán)語句 while循環(huán)語句 do-while語句 for語句轉(zhuǎn)移語句 break語句 continue語句 return語句常用的程序設(shè)計方法枚舉法、地推法、遞歸法 簡單圖形的輸出 格式化的輸入與輸出從鍵盤輸入數(shù)據(jù)格式化的輸出語句的概念java程序的執(zhí)行遵循一定的流程,流程是程序執(zhí)行的順序。流程控制語句是控制程序中各語句執(zhí)行順序的語句,是程序中非常關(guān)鍵和基本的部分。流程控制語句可以把單個的語句組合成有意義的、

2、能夠完成一定功能的小邏輯塊。一、java語句概述語句與結(jié)構(gòu)化程序設(shè)計v在算法語言中,數(shù)據(jù)類型描述數(shù)據(jù)的性質(zhì),表達(dá)式描述對數(shù)據(jù)的運(yùn)算,語句描述對數(shù)據(jù)的操作。v程序由一系列語句組成。vjava語言雖然是一種面向?qū)ο蟮挠嬎銠C(jī)語言,但在一個局部,例如方法內(nèi)、塊語句內(nèi)仍然需要面向過程的程序設(shè)計和方法。v作為面向過程程序設(shè)計精華的結(jié)構(gòu)化程序設(shè)計思想,仍然是面向?qū)ο蟪绦蛟O(shè)計方法的基石。一、java語句概述結(jié)構(gòu)化程序設(shè)計的三種基本流程:盡管現(xiàn)實世界的問題是復(fù)雜的、千變?nèi)f化的,但與之相對應(yīng)的計算機(jī)算法流程,只有三種基本結(jié)構(gòu)-順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。每種結(jié)構(gòu)都是單入口、單出口;每一部分都會被執(zhí)行到;沒有死循

3、環(huán)。 a b p a b p 循環(huán)體真假假真java語言提供支持結(jié)構(gòu)化程序設(shè)計的所有語言。一、java語句概述 java語言提供結(jié)構(gòu)化語句實現(xiàn)程序的流程控制。 表達(dá)式語句 順序結(jié)構(gòu) 空語句 復(fù)合語句 條件語句 選擇語句語句 開關(guān) 語句 switch while 循環(huán)語句 do-while for break 轉(zhuǎn)移語句 continue return 一、java語句概述一、java語句概述v 在java語言中,語句以分號“;”為結(jié)束標(biāo)志。v特殊的是,塊語由其他語句組成,其本身不用分號結(jié)束。內(nèi)嵌有塊語句并以塊語句結(jié)尾的語句,也不需要用分號結(jié)尾。vava語句按性質(zhì)可分為:說明性語句、操作性語句。v

4、java語句按功能可分為: 空語句、標(biāo)號語句、聲明語句、表達(dá)式語句、分支語句、循 環(huán)語句、斷言語句、跳轉(zhuǎn)語句、同步語句、異常語句、塊語 句等。一、java語句概述一、java語句概述空語句: 僅包含一個分號。 例如:for(int i=1;i3) system .out .println (a3); system .out .print (ok!);上面的執(zhí)行結(jié)果是什么上面的執(zhí)行結(jié)果是什么?if語句語句二、java分支語句一、java語句概述class maxpublic double getmax(double a,double b)double max; max=a;if(maxb)max

5、=b;return max;public class ex3_1public static void main(string args) max obj=new max();system.out.println(max=+obj.getmax(3.14,3.1415926);判斷兩個數(shù)的最大值格式:格式: if (表達(dá)件表達(dá)件) 語句語句1;else 語句語句2; 功能:首先計算表達(dá)式,若值為真,則執(zhí)行語句功能:首先計算表達(dá)式,若值為真,則執(zhí)行語句1,否則執(zhí)行語句否則執(zhí)行語句2。 if-else語句語句二、java分支語句一、java語句概述import java.util.*; class

6、leappublic boolean isleap(int year)if(year%4=0)&(year%100!=0)|(year%400=0)return true;else return false; public class ex3_2public static void main(string args)int year;system.out.println(輸入一個年份:);scanner reader=new scanner(system.in);year=reader.nextint();leap obj=new leap();if(obj.isleap(year)syste

7、m.out.println(year+是閏年。);elsesystem.out.println(year+不是閏年。);閏年問題if (條件條件1) /程序代碼程序代碼; else if ( 條件條件2) /程序代碼程序代碼; else if ( 條件條件3) /程序代碼程序代碼; 注意注意:只要任何一個條件成立只要任何一個條件成立.程序就不會對下一個條件進(jìn)行判斷和再執(zhí)行了。程序就不會對下一個條件進(jìn)行判斷和再執(zhí)行了。if-else if 語句語句二、java分支語句public class ex3_3public static void main(string args)(new letter

8、().judgeletter(); class letterpublic void judgeletter() char ch; ch=(char)(java.lang.math.random()*128); if(ch=a&ch=a&ch=0&ch=9) system.out.println(ch+是數(shù)字!); else system.out.println(ch+是其他符號!); 檢查用random()方法產(chǎn)生的一個字符,判斷是否為英文大寫字母、小寫字母、數(shù)字或是其他符號,并輸出相應(yīng)信息。if嵌套語句嵌套語句if (條件條件1) if ( 條件條件2) /程序代碼程序代碼; else /程

9、序代碼程序代碼; else if ( 條件條件3) /程序代碼程序代碼; else /程序代碼程序代碼; .if嵌套語句嵌套語句二、java分支語句switch( 表達(dá)式 ) case 值1: 語句1; break; case 值2: 語句2; break; case 值3: 語句3; break; .case 值n: 語句n; break; default:語句n+1多分支語句多分支語句 switch二、java分支語句二、java分支語句功能:首先計算表達(dá)式的值,然后在switch語句中尋找與該表達(dá)式的值相匹配的case值。 表達(dá)式的返回值類型必須是這幾種類型一 int , byte ,

10、char , short。 case子句中的值必須是常量,而且所有case子句中的值應(yīng)是不同的。 default子句是可選的。 break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行(在一些特殊情況下,多個不同的case值要執(zhí)行一組相同的操作這時可以不用break,不寫break時執(zhí)行自該case開始到下一次找到break語句為止) 多分支語句多分支語句 switch二、java分支語句二、java分支語句import java.util.*;public class ex3_4public static void main(string arg

11、s)(new grade().tograde();class gradepublic void tograde() int score,m; scanner reader=new scanner(system.in); system.out.println(輸入成績:); score=reader.nextint(); if(score100) system.out.println(data error!); else m=score/10; switch(m) case 9: case 10: system.out.println(the grade is a.);break; case 8

12、: system.out.println(the grade is b.);break; case 7: system.out.println(the grade is c.);break; case 6: system.out.println(the grade is d.);break; default: system.out.println(the grade is e.);break; 輸入百分成績,輸出成績等級。循環(huán)語句的作用是反復(fù)執(zhí)行一段代碼,直到滿循環(huán)語句的作用是反復(fù)執(zhí)行一段代碼,直到滿足終止循環(huán)的條件為止。足終止循環(huán)的條件為止。java語言中提供的循語言中提供的循環(huán)語句有:環(huán)語

13、句有: while語句語句 do-while語句語句 for語句語句循環(huán)語句循環(huán)語句三、java循環(huán)語句三、java循環(huán)語句while ( 條件條件 ) /循環(huán)體循環(huán)體 注意:注意:(1)此語句是先判斷條件,再確定是否執(zhí)行語句或程)此語句是先判斷條件,再確定是否執(zhí)行語句或程 序塊。序塊。(2)條件為)條件為true時,執(zhí)行循環(huán)體的語句或程序塊。反時,執(zhí)行循環(huán)體的語句或程序塊。反 之,不執(zhí)行循環(huán)體。之,不執(zhí)行循環(huán)體。(3)在循環(huán)體中要有改變條件的語句,否則會成為死)在循環(huán)體中要有改變條件的語句,否則會成為死 循環(huán)。循環(huán)。while語句語句三、java循環(huán)語句表達(dá)式值表達(dá)式值語語 句句結(jié)束結(jié)束wh

14、ile 語句語句do /循環(huán)體;循環(huán)體; while (條件條件) ;注意:注意:(1)此語句是先執(zhí)行一次循環(huán)體,再判斷條件。此語句是先執(zhí)行一次循環(huán)體,再判斷條件。(2)條件為條件為true時,再次執(zhí)行時,再次執(zhí)行 循環(huán)體的語句或程序塊。循環(huán)體的語句或程序塊。(3)在循環(huán)體中要有改變條件的語句在循環(huán)體中要有改變條件的語句,否則會成為死循環(huán)。否則會成為死循環(huán)。(4)do-while循環(huán)語句即是至少都要執(zhí)行一次的。循環(huán)語句即是至少都要執(zhí)行一次的。do-while語句語句三、java循環(huán)語句三、java循環(huán)語句語語 句句表達(dá)式值表達(dá)式值結(jié)束結(jié)束do-while 語句語句for (設(shè)定初始值設(shè)定初始值

15、 ; 條件限定條件限定 ; 修改控制變量修改控制變量) /程序代碼;程序代碼; 不限定的循環(huán)(死循環(huán))不限定的循環(huán)(死循環(huán)) for ( ; ; ) /程序代碼;程序代碼; 多個變量進(jìn)行定義多個變量進(jìn)行定義 for ( int i=0,j=100 ; ij ; i+ , j- ) /程序代碼;程序代碼; for語句語句三、java循環(huán)語句三、java循環(huán)語句for (int i=0 ; i100 ; i+) for (int j=0 ; ji; j+) /程序塊;程序塊; 注意:在我們的實際開發(fā)過程中,注意:在我們的實際開發(fā)過程中,for循環(huán)語句使用的循環(huán)語句使用的比較多比較多,重點把握!重點

16、把握!for循環(huán)嵌套循環(huán)嵌套三、java循環(huán)語句三、java循環(huán)語句/ 輸出1100內(nèi)前5個可以被3整除的數(shù)。public class ex3_5 public static void main(string args) int num = 0, i = 1; while (i = 100) if (i % 3 = 0) system.out.print(i + ); num+; if (num = 5) break; i+; /輸出101200內(nèi)的質(zhì)數(shù),public class ex3_6 public static void main(string args) for (int i=101

17、; i200; i+=2) boolean f = true; for (int j = 2; j i; j+) if (i % j = 0) f = false; break; if (!f) continue; system.out.print( + i); 三、java循環(huán)語句三、java循環(huán)語句java中的跳轉(zhuǎn)語句有:中的跳轉(zhuǎn)語句有: break語句語句 continue語句語句 返回語句返回語句return跳轉(zhuǎn)語句跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句break語句用于終止某個語句塊或循環(huán)體的執(zhí)行語句用于終止某個語句塊或循環(huán)體的執(zhí)行 break; break語句出現(xiàn)在多層嵌套的語句塊中時,可以

18、通過語句出現(xiàn)在多層嵌套的語句塊中時,可以通過標(biāo)簽指明要終止的是哪一層語句塊標(biāo)簽指明要終止的是哪一層語句塊 label1: label2: label3: break label2; break語句語句四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句break語句示例語句示例public class ex3_7 public static void main( string args ) for( int i=1; i= 10; i+ ) if( i = 5 ) break; system.out.println( i= + i ); system.out.println( done ); 四、java

19、跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句外層跳轉(zhuǎn)外層跳轉(zhuǎn):break語句語句在在switch語中,語中,break語句用來終止語句用來終止switch語句的執(zhí)行。語句的執(zhí)行。在在java中,可以為每個代碼塊加一個標(biāo)號,一個代碼塊通常是用大中,可以為每個代碼塊加一個標(biāo)號,一個代碼塊通常是用大括號括號括起來的一段代碼。加標(biāo)號的格式如下:括起來的一段代碼。加標(biāo)號的格式如下:blocklabel: codeblock break語句的第二種使用情況就是跳出它所指定的塊,并從緊跟語句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語句處執(zhí)行。例如:該塊的第一條語句處執(zhí)行。例如:break blocklab

20、el;break語句語句a: /標(biāo)記代碼塊標(biāo)記代碼塊ab: /標(biāo)記代碼塊標(biāo)記代碼塊bc: /標(biāo)記代碼塊標(biāo)記代碼塊cbreak b; /此處的語句塊不被執(zhí)行此處的語句塊不被執(zhí)行 /此處的語句塊不被執(zhí)行此處的語句塊不被執(zhí)行 /從此處開始執(zhí)行從此處開始執(zhí)行 四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句lbreak 語句用于終止某個語句塊的執(zhí)行。用在循環(huán)語句體中,可以強(qiáng)行退出循環(huán);例如:public class ex3_8 public static void main(string args) int stop = 4; for (int i = 1; i = 10; i+) /當(dāng)i等于stop時,退出

21、循環(huán) if (i = stop) break; system.out.println( i= + i); i = 1i = 2i = 3lcontinue 語句用在循環(huán)語句體中,用于終止某次循環(huán)過程,跳過循環(huán)體中 continue 語句下面未執(zhí)行的循環(huán),開始下一次循環(huán)過程;例如:public class ex3_9 public static void main(string args) int skip = 4; for (int i = 1; i = 5; i+) /當(dāng)i等于skip時,跳過當(dāng)次循環(huán) if (i = skip) continue; system.out.println(i

22、= + i); i = 1i = 2i = 3i = 52.5.4四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句continue語句語句continue語句用于跳過某個循環(huán)語句塊的一次執(zhí)行語句用于跳過某個循環(huán)語句塊的一次執(zhí)行 continue語句出現(xiàn)在多層嵌套的循環(huán)語句體中時,可語句出現(xiàn)在多層嵌套的循環(huán)語句體中時,可以通過標(biāo)簽指明要跳過的是哪一層循環(huán)。以通過標(biāo)簽指明要跳過的是哪一層循環(huán)。 四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句continue語句實例語句實例public class ex3_10 public static void main( string args ) for( int i=1

23、; i= 10; i+ ) if( i = 5 | i = 7 ) continue; system.out.println( i= + i ); system.out.println( done ); 四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句外層跳轉(zhuǎn)外層跳轉(zhuǎn):continue語句語句 continue語句用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語語句用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語 句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對于句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對于for語語 句在進(jìn)行終止條件的判斷前,還要先執(zhí)行迭代語句。也可以用句在進(jìn)行終止條件的判斷前

24、,還要先執(zhí)行迭代語句。也可以用continue 跳轉(zhuǎn)到括號指明的外層循環(huán)中跳轉(zhuǎn)到括號指明的外層循環(huán)中 格式為格式為 continue outerlable;例如例如 outer: for( int i=0; i10; i+ ) /外層循環(huán)外層循環(huán)inner: for( int j=0; j10; j+ ) /內(nèi)層循環(huán)內(nèi)層循環(huán)if( ij )continue outer; 四、java跳轉(zhuǎn)語句四、java跳轉(zhuǎn)語句返回語句返回語句returnreturn語句從當(dāng)前方法中退出,返回到調(diào)用該方法的語句語句從當(dāng)前方法中退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返處,并從緊

25、跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返回語句有兩種格式:回語句有兩種格式:return expression;return;return語句通常用在一個方法體的最后語句通常用在一個方法體的最后,否則會產(chǎn)生編譯否則會產(chǎn)生編譯錯誤錯誤,除非用在除非用在if-else語句中。語句中。四、java跳轉(zhuǎn)語句1、枚舉法(窮舉法)就是把所有可能的情況一一測試,篩選出符合條件的各種結(jié)果進(jìn)行輸出。五、常用的程序設(shè)計方法38常用算法1、枚舉法(窮舉法)“笨人之法”: 把所有可能的情況一一測試,篩選出符合條件的各種結(jié)果進(jìn)行輸出?!纠弧堪僭I百雞:用一百元錢買一百只雞。已知公雞5元/只,母雞3元/只,小雞1元/3只

26、。分析: 這是個不定方程三元一次方程組問題(三個變量,兩個方程) xyz=100 5x3yz/3=100 設(shè)公雞為x只,母雞為y只,小雞為z只。五、常用的程序設(shè)計方法class ex3_11 public static void main(string arg) int x,y,z; for (x=0;x=100;x+) for (y=0;y=100;y+) z=100-x-y; if (5*x+3*y+z/3.0=100) system.out.println(cocks=+x+, +hens=+y+,+chickens=+z); 結(jié)果: cocks =0, hens =25, chicke

27、ns =75 cocks =4, hens =18, chickens =78 cocks =8, hens =11, chickens =81 cocks =12, hens =4, chickens =84五、常用的程序設(shè)計方法另一種計算方法:class hundredyuanchicken public void printchicken()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+) for(z=0;z=100;z+) if(x+y+z=100&5*x+3*y+z/3.0=100) system.out.println(公雞=+x+母雞=+y

28、+小雞=+z); public class test303 public static void main(string args) (new hundredyuanchicken().printchicken(); 五、常用的程序設(shè)計方法412、遞推法(迭代法)基本思想:不斷由已知值推出新值,直到求得解為止。迭代初值、迭代公式和迭代終止條件是迭代法的三要素例:斐波納契數(shù)列。前兩個數(shù)都是1,第三個數(shù)是前兩個數(shù)之和,以后的每個數(shù)都是其前兩個數(shù)之和。 各數(shù)之間的一種遞推關(guān)系,即: fn = fn-1 + fn-2,f1 = f2 =1本題的三要素是: 迭代初值:x=1, y=1 迭代公式:z=y+

29、x 終止條件:共計算n-2次五、常用的程序設(shè)計方法42public class ex3_12 static int fib(int n) int first = 1; int second = 1; int sum = first + second; int i = 2; while(+i n) first = second; second = sum; sum = first + second; return sum; public static void main(string args) system.out.println(f20= + fib(20); 程序的運(yùn)行結(jié)果如下: java

30、 fibiterative f20=6765五、常用的程序設(shè)計方法【累加型】類型諸如 + 求其前n項之和的編程題。累加型算法累加型算法 若設(shè)若設(shè)i為循環(huán)變量,為循環(huán)變量,s為前為前n項累加之和,則程序的項累加之和,則程序的基本結(jié)構(gòu)為:基本結(jié)構(gòu)為: s=0; for( i=1 ;i=n ;i+ ) s=s+;五、常用的程序設(shè)計方法44編程求11/2+1/31/4+1/5 +1/991/100累加型算法累加型算法程序基本結(jié)構(gòu)為:程序基本結(jié)構(gòu)為: s=0; for( i=1;i=n;i+ ) s=s+;運(yùn)行結(jié)果:sum=0.6881719 五、常用的程序設(shè)計方法451) class ex3_132)

31、 static float mysum(int n) 3) float k = 1f;4) float sum = 0.0f;5) for(int i=1;i=n;i+)6) 7) sum=sum+k/i;8) k = -k;9) 10) return sum; 11) 12) public static void main(string args) 13) system.out.println(sum100= + mysum(100); 14) 五、常用的程序設(shè)計方法46【階乘型】類型諸如 求其前n項之積的編程題。階乘型算法階乘型算法 若設(shè)若設(shè)i為循環(huán)變量,為循環(huán)變量,s為前為前n項相乘之積

32、,則程序項相乘之積,則程序的基本結(jié)構(gòu)為:的基本結(jié)構(gòu)為: s=1; for( i=1 ;i=n ;i+ ) s=s*;五、常用的程序設(shè)計方法47class ex3_14 static int myfac(int n) int fac = 1; for(int i=1;i=n;i+) fac=fac*i; return fac; public static void main(string args) system.out.println(fac10= + myfac(5); n!運(yùn)行結(jié)果:fac10=3628800.0五、常用的程序設(shè)計方法48編程求n! =1!+2!+3!+n! (n由鍵盤輸入

33、)在同一個循環(huán)中 先階乘,后累加五、常用的程序設(shè)計方法491) class ex3_15 2) static int method(int n) 3) int s=0,p=1;4) for(int i=1; i=n; i+) 5) p = p * i; /i!6) s = s + p;7) 8) return s;9) 10) public static void main(string args) 11) int r = method(5);12) system.out.println(r= + r);13) 14) 運(yùn)行結(jié)果:r=153五、常用的程序設(shè)計方法50a+aa+aaa+aa=?i

34、mport java.io.*;class ex3_16 public static void main(string args)throws ioexception bufferedreader br=new bufferedreader(new inputstreamreader(system.in); system.out.print(請輸入一個長度請輸入一個長度n:); string str=br.readline(); /轉(zhuǎn)換字符串為整型數(shù)轉(zhuǎn)換字符串為整型數(shù) int n=integer.parseint(str);五、常用的程序設(shè)計方法51 system.out.print(請輸入一

35、個整數(shù)a:);str=br.readline(); /輸入字符存入字符串int a=integer.parseint(str);/轉(zhuǎn)換字符串為整型數(shù)據(jù)int i=1,sn=0,tn=0;while(i 2 )public class ex3_18 public static void main(string arg) system.out.println(f(40); public static int f(int n) if (n = 1 | n = 2) return 1; else return f(n - 1) + f(n - 2); 五、常用的程序設(shè)計方法mainf5f4f3f2f1

36、f2f3f2f1public static int f(int n) if (n = 1 | n = 2) return 1; else return f(n - 1) + f(n - 2); 五、常用的程序設(shè)計方法564、簡單圖形的輸出編程顯示以下圖形(共n 行,n 由鍵盤輸入)。 * * * * * * * * * * * * * * * * * * * * * * * * *此類題目分析的要點是:通過分析,找出每行空格、* 與行號i、列號j及總行數(shù)n的關(guān)系。其循環(huán)結(jié)構(gòu)可用右圖表示。分析:(設(shè)n=5)第1行 4個空格=5-1 1個“*”=2*行號-1第2行 3個空格=5-2 3個“*”=2

37、*行號-1第3行 2個空格=5-3 5個“*”=2*行號-1第4行 1個空格=5-4 7個“*”=2*行號-1第5行 0個空格=5-5 9個“*”=2*行號-1由此歸納出:第i行的空格數(shù)n-i個; 第i行的“*”數(shù)是2i-1個。 五、常用的程序設(shè)計方法57編程顯示以下圖形(共n 行,n 由鍵盤輸入)。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *算法:分成兩部分完成:n=9行 n1=(n+1)/2=5 n2=n-n1=4五、常用的程序設(shè)計方法58public class ex3

38、_19public static void main(string args) int n=9; int middle=(n+1)/2, spacenum; for(int i=1;i=middle;i+) /打印星號前的空格 spacenum=middle-i; for(int j=1;j=spacenum;j+) system.out.print( ); /打印星號 for(int k=1;k=2*i-1;k+) system.out.print(*); system.out.println(); middle=(n+1)/2; for(int i=1;i=middle;i+) /打印星號

39、前的空格 spacenum=middle-i; for(int j=1;j=i;j+) system.out.print( ); /打印星號 for(int k=1;k=2*spacenum-1;k+) system.out.print(*); system.out.println();五、常用的程序設(shè)計方法59/第一部分,輸入*個數(shù)import java.io.*;public class ex3_20public static void main(string args) throws ioexception int n;bufferedreader br =new bufferedrea

40、der(new inputstreamreader(system.in);do system.out.print(input a odd number:); string str=br.readline(); n=integer.parseint(str); while(n%2=0); /條件值為false時結(jié)束循環(huán)五、常用的程序設(shè)計方法60/第二部分,打印上半部分 int middle=(n+1)/2, spacenum;for(int i=1;i=middle;i+) /打印星號前的空格 spacenum=middle-i; for(int j=1;j=spacenum;j+) syste

41、m.out.print( ); /打印星號 for(int k=1;k=2*i-1;k+) system.out.print(*); system.out.println(); 五、常用的程序設(shè)計方法61/第二部分,打印下半部分 for(int i=1;i=n-middle;i+) /打印星號前的空格 spacenum=i; for(int j=1;j=spacenum;j+) system.out.print( ); /打印星號 for(int k=1;k=2*(middle-i)-1;k+) system.out.print(*); system.out.println(); 五、常用的程序設(shè)計方法/第二部分另一種實現(xiàn)方法 int middle=(n+1)/2,spacenum, maxletternum=n,letternum; for(int i=1;i=n;i+) /打印星號前的空格spacenum=math.abs(middle-i);for(int j=1;j=spacenum;j+) system.out.print( ); /打印星號letternum=maxletternum-2*spacenum;fo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論