課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級(jí)版
數(shù)組的定義為什么不能放在自定義的方法里面,而要放在main方法里面?代碼如下,
2018-04-29
源自:Java入門第一季(IDEA工具)升級(jí)版 7-1
正在回答
不是數(shù)組放哪的問(wèn)題,是整個(gè)程序邏輯有問(wèn)題
import?java.util.*; public?class?HelloWorld?{ ???? ????//完成?main?方法 ????public?static?void?main(String[]?args)?{ ????????HelloWorld?hw?=?new?HelloWorld(); ????????int[]?scores?=?{89,-23,64,91,119,52,73}; ????????hw.Sort(scores); ???????? ????} ???? ????//定義方法完成成績(jī)排序并輸出前三名的功能 ????public?void?Sort(int[]?scores){ ????????int[]?newSocres?=new?int[scores.length]; ????????int?length?=0; ????????for(int?i=0;i<scores.length;i++) ????????????if(scores[i]>=0?&&?scores[i]<=100) ????????????????newSocres[length++]?=?scores[i]; ????????Arrays.sort(newSocres); ????????System.out.println("考試成績(jī)的前三名為:"); ????????for(int?i=newSocres.length-1;i>=newSocres.length-3;i--) ????????????System.out.println(newSocres[i]); ????} ???? ???? ???? ???? ???? ???? ???? ???? ???? }
我不太冷 提問(wèn)者
重新開一樓吧,我們的目的是要求出符合條件的前三名的成績(jī),因?yàn)槌跏级x的數(shù)組有不符合條件([0,100])的成績(jī),所以我們重新開個(gè)數(shù)組來(lái)保存"[0,100]的成績(jī)",也就是newScores,然后我們?cè)購(gòu)?span style="float:none;text-align:left;text-decoration:none;">newScores找出前三名的成績(jī),由于sort默認(rèn)是升序排列,所以我們需要對(duì)newScores數(shù)組中的元素逆序輸出。數(shù)組放哪不重要,如果放里面的話也可以啊
import?java.util.*; public?class?HelloWorld?{ ????? ????//完成?main?方法 ????public?static?void?main(String[]?args)?{ ????????HelloWorld?hw?=?new?HelloWorld(); ????????hw.Sort(); ????} ????? ????//定義方法完成成績(jī)排序并輸出前三名的功能 ????public?void?Sort(){ ????????int[]?scores?=?{89,-23,64,91,119,52,73};???//初始化數(shù)組 ????????int[]?newSocres?=new?int[scores.length];???//存儲(chǔ)符合條件的數(shù)組 ????????int?length?=0;????//由于不一定每個(gè)數(shù)都符號(hào)條件,用個(gè)變量存儲(chǔ)符號(hào)條件的數(shù)的個(gè)數(shù) ????????for(int?i=0;i<scores.length;i++)??//遍歷初始化數(shù)組,將其中符號(hào)條件的數(shù)組存到newSocres ????????????if(scores[i]>=0?&&?scores[i]<=100) ????????????????newSocres[length++]?=?scores[i]; ????????Arrays.sort(newSocres);?//對(duì)符號(hào)條件的數(shù)組排序 ????????System.out.println("考試成績(jī)的前三名為:"); ????????for(int?i=newSocres.length-1;i>=newSocres.length-3;i--)??//逆序輸出 ????????????System.out.println(newSocres[i]); ????}
你看,兩種代碼都是可以的,區(qū)別在于,如果在主函數(shù)中定義數(shù)組,在Sort方法實(shí)現(xiàn)時(shí)就需要將主函數(shù)的數(shù)組傳遞過(guò)去;如果在Sort方法定義數(shù)組,可以直接在方法中用。
望采納
舉報(bào)
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語(yǔ)法開始
5 回答新手求解答!
2 回答求解答新手問(wèn)題
2 回答新手求解答啊
1 回答新手求解?
4 回答求解答,新手入門,一點(diǎn)也不懂!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-04-29
不是數(shù)組放哪的問(wèn)題,是整個(gè)程序邏輯有問(wèn)題
2018-04-29
重新開一樓吧,我們的目的是要求出符合條件的前三名的成績(jī),因?yàn)槌跏级x的數(shù)組有不符合條件([0,100])的成績(jī),所以我們重新開個(gè)數(shù)組來(lái)保存"[0,100]的成績(jī)",也就是newScores,然后我們?cè)購(gòu)?span style="float:none;text-align:left;text-decoration:none;">newScores找出前三名的成績(jī),由于sort默認(rèn)是升序排列,所以我們需要對(duì)newScores數(shù)組中的元素逆序輸出。數(shù)組放哪不重要,如果放里面的話也可以啊
你看,兩種代碼都是可以的,區(qū)別在于,如果在主函數(shù)中定義數(shù)組,在Sort方法實(shí)現(xiàn)時(shí)就需要將主函數(shù)的數(shù)組傳遞過(guò)去;如果在Sort方法定義數(shù)組,可以直接在方法中用。
望采納