java代碼質檢項,java代碼質量檢查工具

用java如何寫代碼去判斷質數和合數

首先介紹下:質數是除了本身和1以外,沒有質因數,就是沒有數能夠整除之;合數是除了本身和1以外還有第三個數能整除之。

成都創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站建設、網站設計、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的宣威網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

具體示例代碼如下:

public?class?Demo2?{

public?static?void?main(String[]?args)?{

Scanner?scan?=?new?Scanner(System.in);

System.out.print("請輸入一個數:");

int?num?=?scan.nextInt();

int?index?=?0;//使用一個數來標記是質數還是合數

for?(int?i?=?2;?i??num;?i++)?{

if?(num?%?i?==?0)?{

index++;

}

}

if?(index?==?0)?{//index等于0表示質數

System.out.println("這是個質數");

}

else?{//index大于0表示合數

System.out.println("這是個合數");

}

}

}

需要注意的是:1不算質數也不算合數。

怎么寫Java測試代碼?

可以用main函數和JUnit來寫測試代碼。main是最早使用的,但是現在更流行的測試工具是JUnit。

JUnit是一個Java語言的單元測試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源于Kent Beck的sUnit的xUnit家族中最為成功的一個。 JUnit有它自己的JUnit擴展生態圈。多數Java的開發環境都已經集成了JUnit作為單元測試的工具。

下面是一些具體的編寫測試代碼的技巧或較好的實踐方法:

1. 不要用TestCase的構造函數初始化Fixture,而要用setUp()和tearDown()方法。

2. 不要依賴或假定測試運行的順序,因為JUnit利用Vector保存測試方法。所以不同的平臺會按不同的順序從Vector中取出測試方法。

3. 避免編寫有副作用的TestCase。例如:如果隨后的測試依賴于某些特定的交易數據,就不要提交交易數據。簡單的回滾就可以了。

4. 當繼承一個測試類時,記得調用父類的setUp()和tearDown()方法。

5. 將測試代碼和工作代碼放在一起,一邊同步編譯和更新。(使用Ant中有支持junit的task.)

6. 測試類和測試方法應該有一致的命名方案。如在工作類名前加上test從而形成測試類名。

7. 確保測試與時間無關,不要依賴使用過期的數據進行測試。導致在隨后的維護過程中很難重現測試。

8. 如果你編寫的軟件面向國際市場,編寫測試時要考慮國際化的因素。不要僅用母語的Locale進行測試。

9. 盡可能地利用JUnit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡潔。

10.測試要盡可能地小,執行速度快。

11.不要硬性規定數據文件的路徑。

12.利用Junit 的自動異常處理書寫簡潔的測試代碼

事實上在Junit 中使用try-catch 來捕獲異常是沒有必要的,Junit 會自動捕獲異常。那些沒有被捕獲的異常就被當成錯誤處理。

13. 充分利用Junit 的assert/fail 方法

assertSame()用來測試兩個引用是否指向同一個對象

assertEquals()用來測試兩個對象是否相等

14. 確保測試代碼與時間無關

15. 使用文檔生成器做測試文檔。

java測試代碼檢錯

首先 Animal Dog Cat這三個類與MyAnimalList是在同一個包下面么?

如果沒有在同一個包中,則需要import這三個類進來

java編碼規范有哪些?

盡量使用完整的英文描述符,采用適用于相關領域的術語,采用大小寫混合使名字可讀。

JAVA代碼規范:

(1)類名首字母應該大寫。字段、方法以及對象(句柄)的首字母應小寫。對于所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如:

ThisIsAClassName

thisIsMethodOrFieldName

若在定義中出現了常數初始化字符,則大寫static final基本類型標識符中的所有字母。這樣便可標志出它們屬于編譯期的常數。Java包(Package)屬于一種特殊情況:它們全都是小寫字母,即便中間的單詞亦是如此。對于域名擴展名稱,如com,org,net或者edu等,全部都應小寫(這也是Java1.1和Java1.2的區別之一)。

(2)為了常規用途而創建一個類時,請采取"經典形式",并包含對下述元素的定義:equals()

hashCode()

toString()

clone()(implement Cloneable)

implement Serializable

(3)對于自己創建的每一個類,都考慮置入一個main(),其中包含了用于測試那個類的代碼。為使用一個項目中的類,我們沒必要刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個示例使用。

(4)應將方法設計成簡要的、功能性單元,用它描述和實現一個不連續的類接口部分。理想情況下,方法應簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個方法。這樣做也便于類內代碼的重復使用(有些時候,方法必須非常大,但它們仍應只做同樣的一件事情)。

(5)設計一個類時,請設身處地為客戶程序員考慮一下(類的使用方法應該是非常明確的)。然后,再設身處地為管理代碼的人考慮一下(預計有可能進行哪些形式的修改,想想用什么方法可把它們變得更簡單)。

(6)使類盡可能短小精悍,而且只解決一個特定的問題。下面是對類設計的一些建議:

一個復雜的開關語句:考慮采用"多形"機制

數量眾多的方法涉及到類型差別極大的操作:考慮用幾個類來分別實現

許多成員變量在特征上有很大的差別:考慮使用幾個類

(7)讓一切東西都盡可能地"私有"-private。可使庫的某一部分"公共化"(一個方法、類或者一個字段等等),就永遠不能把它拿出。若強行拿出,就可能破壞其他人現有的代碼,使他們不得不重新編寫和設計。若只公布自己必須公布的,就可放心大膽地改變其他任何東西。在多線程環境中,隱私是特別重要的一個因素-只有private字段才能在非同步使用的情況下受到保護。

(8)謹惕"巨大對象綜合癥。對一些習慣于順序編程思維、且初涉OOP領域的新手,往往喜歡先寫一個順序執行的程序,再把它嵌入一個或兩個巨大的對象里。根據編程原理,對象表達的應該是應用程序的概念。

名稱欄目:java代碼質檢項,java代碼質量檢查工具
網站地址:http://m.kartarina.com/article26/hscsjg.html

成都網站建設公司_創新互聯,為您提供軟件開發營銷型網站建設網站導航品牌網站設計靜態網站自適應網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 久久无码AV中文出轨人妻| 蜜桃无码一区二区三区| 无码专区国产无套粉嫩白浆内射 | 免费无码VA一区二区三区| 国产精品99精品无码视亚 | 亚洲gv猛男gv无码男同短文| 无码少妇一区二区三区 | 精品一区二区三区无码免费直播| 成在人线av无码免费高潮水| 久久久久成人精品无码中文字幕| 国产精品无码无片在线观看3D| 无码少妇一区二区性色AV| 免费一区二区无码视频在线播放| 免费A级毛片av无码| 中文字幕无码乱人伦| 精品久久久久久久无码久中文字幕| 国产精品无码一区二区三级| 无码人妻精品一区二区蜜桃百度 | 嫩草影院无码av| 亚洲av永久中文无码精品综合 | 亚洲不卡中文字幕无码| 国产激情无码一区二区三区| 91嫩草国产在线无码观看| 18禁超污无遮挡无码免费网站| 人妻在线无码一区二区三区| 中文无码字慕在线观看| 亚洲av无码不卡一区二区三区| 五月婷婷无码观看| 97无码免费人妻超级碰碰夜夜| 日韩国产成人无码av毛片| 亚洲精品中文字幕无码蜜桃| 亚洲不卡无码av中文字幕| 国产精品JIZZ在线观看无码| 亚洲AV无码一区二区三区电影| 亚洲国产成人精品无码区在线秒播| 久久久久久久无码高潮 | 中日韩精品无码一区二区三区| 亚洲AV日韩AV高潮无码专区| 亚洲AV综合色区无码一区爱AV| 国产aⅴ激情无码久久| 国产成人AV片无码免费|