代碼為:public static void main(String[] args) { // TODO Auto-generated method stub score();}public static void score(){ System.out.println("請輸入一個(gè)5分制成績"); Scanner in = new Scanner(System.in); int score = in.nextInt(); if(score>=0&&score<=5){ switch(score){ case 5:System.out.println("優(yōu)秀"); break; case 4:System.out.println("良好"); break; case 3:System.out.println("及格"); break; default:System.out.println("不及格"); break; } } else{ score(); } System.out.println("over");}執(zhí)行效果為為什么遞歸后會執(zhí)行后面的輸出語句,而且是在最后一次一起執(zhí)行,不是每次遞歸前輸出
6 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
很明顯,你這個(gè)邏輯不應(yīng)該遞歸score
,而是在main
中循環(huán)控制。
PS:遞歸適合在一些用了之后明顯易讀的邏輯中使用,例如斐波拉契數(shù)列。遞歸有時(shí)候還需要改造成循環(huán),因?yàn)樵谶f歸層次深的情況下,其性能很差,指數(shù)爆炸級變差。

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

慕斯王
TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消