




版權(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)S
7、ystem.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 Le
8、tter().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) /程
9、序代碼程序代碼; else /程序代碼程序代碼; 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á)式的返回值類型必須是這幾種類
10、型一 int , byte , 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
11、 main(String args)(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
12、.);break; case 8: 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語言中提供
13、的循語言中提供的循環(huán)語句有:環(huán)語句有: 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á)式
14、值表達(dá)式值語語 句句結(jié)束結(jié)束While 語句語句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 語句語
15、句for (設(shè)定初始值設(shè)定初始值 ; 條件限定條件限定 ; 修改控制變量修改控制變量) /程序代碼;程序代碼; 不限定的循環(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、用的比較多比較多,重點(diǎn)把握!重點(diǎn)把握!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
17、) for (int i=101; 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語句
18、出現(xiàn)在多層嵌套的語句塊中時,可以通過語句出現(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
19、( Done ); 四、Java跳轉(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í)行。例
20、如:break BlockLabel;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
21、+) /當(dāng)i等于stop時,退出循環(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; Syste
22、m.out.println(i = + 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 arg
23、s ) for( int i=1; 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)行終止條件的判斷,句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)以決定是否繼續(xù)循環(huán)。對于。對于for語語 句在進(jìn)行終止條件的判斷前,還要先執(zhí)行迭代語句。
24、也可以用句在進(jìn)行終止條件的判斷前,還要先執(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)用該方法的語句處,并從緊跟該語句的下一條
25、語句繼續(xù)程序的執(zhí)行。返處,并從緊跟該語句的下一條語句繼續(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元/
26、只,母雞3元/只,小雞1元/3只。分析: 這是個不定方程三元一次方程組問題(三個變量,兩個方程) 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,
27、hens =25, chickens =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
28、.println(公雞=+x+母雞=+y+小雞=+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,F(xiàn)1 = F2 =1本題的三要素是: 迭代初
29、值:x=1, y=1 迭代公式:z=y+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(
30、20); 程序的運(yùn)行結(jié)果如下: java 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è)計方
31、法451) class Ex3_132) 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)
32、變量,為循環(huán)變量,s為前為前n項相乘之積,則程序項相乘之積,則程序的基本結(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!
33、=1!+2!+3!+n! (n由鍵盤輸入)在同一個循環(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五、常用的程序
34、設(shè)計方法50a+aa+aaa+aa=?import 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 S
35、ystem.out.print(請輸入一個整數(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); 五、常用的
36、程序設(shè)計方法mainf5f4f3f2f1f2f3f2f1public static int f(int n) if (n = 1 | n = 2) return 1; else return f(n - 1) + f(n - 2); 五、常用的程序設(shè)計方法564、簡單圖形的輸出編程顯示以下圖形(共N 行,N 由鍵盤輸入)。 * * * * * * * * * * * * * * * * * * * * * * * * *此類題目分析的要點(diǎn)是:通過分析,找出每行空格、* 與行號i、列號j及總行數(shù)N的關(guān)系。其循環(huán)結(jié)構(gòu)可用右圖表示。分析:(設(shè)N=5)第1行 4個空格=5-1 1個“*”=2*行號-1
37、第2行 3個空格=5-2 3個“*”=2*行號-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è)計
38、方法58public class Ex3_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=
39、1;i=middle;i+) /打印星號前的空格 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
40、 br =new BufferedReader(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;
41、j=spaceNum;j+) System.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;
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育文化與鄉(xiāng)村旅游融合發(fā)展的路徑
- 食品分析實驗課程基于科研思維模式的教學(xué)改革
- 奶茶店運(yùn)營管理方案
- 襄陽職業(yè)技術(shù)學(xué)院《論文寫作與統(tǒng)計分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 民辦合肥濱湖職業(yè)技術(shù)學(xué)院《普通邏輯學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 珠海藝術(shù)職業(yè)學(xué)院《基礎(chǔ)俄語四中方》2023-2024學(xué)年第二學(xué)期期末試卷
- 員工發(fā)展與培訓(xùn)在數(shù)字招聘模式中的新角色
- 仿真船模燃油經(jīng)濟(jì)性評估創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 超高壓汽輪機(jī)系統(tǒng)故障演化與穩(wěn)定性研究-洞察闡釋
- 親子繪本閱讀館企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 2024年陜西西安市碑林區(qū)人力資源和社會保障局招聘61人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 再回首混聲合唱譜
- 按揭貸款風(fēng)險揭示及應(yīng)對措施
- 智能安防監(jiān)控系統(tǒng)升級實施方案
- 考后心理健康教育課件
- 運(yùn)輸行業(yè)保密知識培訓(xùn)
- 《治療痤瘡藥》課件
- 住院精神疾病患者自殺風(fēng)險護(hù)理(2023版團(tuán)標(biāo))
- 研究污水處理中的微生物群落結(jié)構(gòu)
- 中等職業(yè)學(xué)校教職員工績效考核實施方案
- 國開電大《管理英語1》參考答案
評論
0/150
提交評論