看板 java 關於我們 聯絡資訊
如果給你以下,你可以轉化為正確且漂亮的程式嗎? 從1到100 如果是質數 輸出數字 從1到100 如果是質數,如果大於2也是質數 輸出質數和大於2的質數 如果可以轉化,那我覺得你不需要去寫太多OJ的題目, 另一方面也恭喜你念對科系, 因為目前你缺的是一個需要拉遠視野的統籌規劃能力, 這正是念資管系將來出社會前要習得的技能值。 但如果不能轉化,那你的實作功力還有待加強。 可以在課餘時練習一些OJ的題目, 等到在需求轉化程式碼這方面已經行雲流水後, 再回過頭來把上面講的技能值補滿。 個人認為上述兩者都很重要, 也建議可以在學期結束後繼續自行深造Java這個程式語言。 另外,會問這類問題代表你很努力上進,不過考試成績不用太在意, 也不用理會那些帶有個人觀念在裡面的強或弱的旁人眼光。 如果你將來要走寫程式的路,反而在學時要珍惜寫程式以外的事。 因為當你真正以寫程式為一生志業的時候,就沒有時間再觸及程式以外的領域了。 ※ 引述《ek0424 (Q毛)》之銘言: : ※ 引述《ek0424 (Q毛)》之銘言: : : 小弟現在是大學的資管系學生 : : 目前程設學了java 雖然不會被當 : : 可是常常考試的時候想不出來 而且coding速度很慢 每次都覺得時間不夠 : : 平常以班上的同學來說 我的練習時間不輸給大部分的人 : : 平常老師給的題庫或是作業我都有寫 : : 而且常常有很難的作業我都會把他想出來 : : 因此大家常常覺得我很強 : : 但是考試的時候 我卻常常出乎大家意料之外 : : 分數總是在及格邊緣而已 : : 有沒有大大可能在求學時也跟我一樣呢? : : 或者有人可以教教我怎麼提升考試的實力呢? : : 我對寫程式一點都不排斥 還蠻喜歡的 : : 可是一旦考是我就頭痛:< : : 各位前輩們還請多多給予意見 : 像是這種題目: : 1.(質數測試) 請依序撰寫如下兩種質數測試方法及測試主程式: : a.public static boolean prime(int n) : 若正數n為質數則回傳真,否則回傳假 : 提示:若2到n/2的整數m皆無法整除n,則n為質數. : 其中,m整除n寫法如下 : if(n % m == 0) : b.public static boolean twinPrime(int n, int m) : 若正數n,m差2,而且n,m皆質數,則n,m為雙生質數,回傳真,否則回傳假 : c.主程式測試時請印出小於100之質數,及雙生質數. : (Sample Output) : 小於100質數如下: : 2,3,5,7,... : 小於100雙生質數如下: : 3,5; 5,7; 11,13; ... : 標準解答: : public static void main(String[] args) { : int n=100; : for(int i=2 ;i<n;i++){ : if(prime(i)){ : if(i!=2){ : System.out.print(","); : } : System.out.print(i); : } : } : System.out.println(); : for(int i=2 ;i<n;i++){ : if(twinPrime(i,i+2)){ : System.out.print(i+","+(i+2)); : if(i!=n){ : System.out.print(";"); : } : } : } : System.out.println(); : } : public static boolean prime(int n){ : for(int i=2;i<=n/2;i++){ : if(n%i == 0){ : return false; : } : } : return true; : } : public static boolean twinPrime(int n, int m){ : if((Math.abs(n-m))==2 && prime(n) && prime(m)){ : return true; : } : return false; : } : } : 像是這種題目我大概都考試的時候會想得很零散 : 老師會部分給分 所以都還是我拿一些分數 : 可是我考試幾乎沒有那種整大題都run出來過的 : 一直以來都靠部分給分 很羨慕那種可以寫出整過能run的人 : 想問有甚麼方法可以幫助我非常清楚題目的架構 然後寫起來不會太亂 : 我常常都東寫一點 然後西試一下 只要不能run馬上又打別的寫法 : 每次都debug很久 可是如果不考是我都可以很冷靜的寫出來(可是時間很長) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.242.64