#include stdio.h

成都創(chuàng)新互聯(lián)公司成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、成都App定制開發(fā)、手機(jī)網(wǎng)站開發(fā)、微信網(wǎng)站制作、軟件開發(fā)、眉山聯(lián)通機(jī)房等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從成都創(chuàng)新互聯(lián)公司可以獲得的服務(wù)效果。
#include stdlib.h
#include time.h
#define NUMBER 10/*定義數(shù)組項(xiàng)目的個(gè)數(shù)為一個(gè)符號(hào)常量*/
int Num1[10]= {0},Num2[10]= {0},Pos1=0,Pos2=0;
/*定義兩個(gè)數(shù)組來(lái)保存已經(jīng)出現(xiàn)的情況*/
int main()
{
int putquestion();/*聲明出題函數(shù)*/
int questionnum=10;/*聲明變量*/
int i=1;
printf("Please input number of question:");
scanf("%d",questionnum);
int answer[NUMBER];/*聲明一個(gè)數(shù)組,用于儲(chǔ)存學(xué)生的答案*/
int rightanswer[NUMBER];/*聲明一個(gè)數(shù)組,用于儲(chǔ)存正確答案*/
for(i=1; i=questionnum; i++)
{
rightanswer[i-1]=putquestion();
scanf("%d",answer[i-1]);
}
for(i=1; i=NUMBER; i++)
printf("\n%d%5d",answer[i-1],rightanswer[i-1]);
}
bool exist(int goal,int *Num)
{/*檢查數(shù)字goal是否已經(jīng)出現(xiàn)在Num數(shù)組里面*/
int i;
for(i=0; iPos1; i++)
if(goal==Num[i])
return true;
return false;
}
int putquestion()/*此函數(shù)用于出題*/
{
int randValue;
int num1;
int num2;
int correctanswer;
srand((int)time(NULL));
randValue=1+rand()%4;
num1=1+rand()%99;
num2=1+rand()%99;
switch(randValue)
{
case 1:/*加法作業(yè)*/
while(num1+num2=100||exist(num1,Num1)exist(num2,Num2))
{/*當(dāng)滿足該條件(滿足題目要求且兩個(gè)數(shù)同時(shí)出現(xiàn)過(guò))時(shí)繼續(xù)循環(huán)*/
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d+%d=",num1,num2);
correctanswer=num1+num2;
break;
case 2:/*減法作業(yè)*/
while(num1-num20||exist(num1,Num1)exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d-%d=",num1,num2);
correctanswer=num1-num2;
break;
case 3:/*乘法作業(yè)*/
while(num1*num2=100||exist(num1,Num1)exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d*%d=",num1,num2);
correctanswer=num1*num2;
break;
case 4:/*除法作業(yè)*/
while(num1%num2!=0||exist(num1,Num1)exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d/%d=",num1,num2);
correctanswer=num1/num2;
break;
}
return(correctanswer);
}
只要自己的電腦安裝了jdk環(huán)境,任何地方都可以進(jìn)行java代碼的編寫的,記事本也可以。
springboot與Junit有整合的方式,你可以模擬http請(qǐng)求從你的測(cè)試類發(fā)送請(qǐng)求到Controller,就像中描述的一樣。下面我列出部分代碼:
package?com.youyanpai;
import?org.junit.Assert;
import?org.junit.Before;
import?org.junit.Test;
import?org.junit.runner.RunWith;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.boot.test.context.SpringBootTest;
import?org.springframework.test.context.junit4.SpringRunner;
import?org.springframework.test.web.servlet.MockMvc;
import?org.springframework.test.web.servlet.MvcResult;
import?org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import?org.springframework.test.web.servlet.setup.MockMvcBuilders;
import?org.springframework.web.context.WebApplicationContext;
@RunWith(SpringRunner.class)
@SpringBootTest(classes?=?Application.class)
public?class?SimpleTest?{
private?MockMvc?mockMvc;
@Autowired
private?WebApplicationContext?webApplicationContext;
/**
?*?前置處理
?*?@author?有言派
?*?@author?
?*/
@Before
public?void?before()?throws?Exception?{
mockMvc?=?MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
/**
?*?測(cè)試方法
?*?@author?有言派
?*?@author?
?*/
@Test
public?void?testYourMethod()?throws?Exception?{
MvcResult?mvcResult?=?mockMvc.perform(MockMvcRequestBuilders.get("/login")
.param("username",?"youyanpai.com")
.param("password",?"youyanpai.com")
.session(session))
.andReturn();????????????????
int?status?=?mvcResult.getResponse().getStatus();
String?responseString?=?mvcResult.getResponse().getContentAsString();????????????????//請(qǐng)求是否正確
Assert.assertEquals("請(qǐng)求錯(cuò)誤",?200,?status);????????????????
//輸出返回值
System.out.println("有言派提示您,測(cè)試返回結(jié)果:"+responseString);
}
}
希望能夠幫到你!
可以用main函數(shù)和JUnit來(lái)寫測(cè)試代碼。main是最早使用的,但是現(xiàn)在更流行的測(cè)試工具是JUnit。
JUnit是一個(gè)Java語(yǔ)言的單元測(cè)試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源于Kent Beck的sUnit的xUnit家族中最為成功的一個(gè)。 JUnit有它自己的JUnit擴(kuò)展生態(tài)圈。多數(shù)Java的開發(fā)環(huán)境都已經(jīng)集成了JUnit作為單元測(cè)試的工具。
下面是一些具體的編寫測(cè)試代碼的技巧或較好的實(shí)踐方法:
1. 不要用TestCase的構(gòu)造函數(shù)初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依賴或假定測(cè)試運(yùn)行的順序,因?yàn)镴Unit利用Vector保存測(cè)試方法。所以不同的平臺(tái)會(huì)按不同的順序從Vector中取出測(cè)試方法。
3. 避免編寫有副作用的TestCase。例如:如果隨后的測(cè)試依賴于某些特定的交易數(shù)據(jù),就不要提交交易數(shù)據(jù)。簡(jiǎn)單的回滾就可以了。
4. 當(dāng)繼承一個(gè)測(cè)試類時(shí),記得調(diào)用父類的setUp()和tearDown()方法。
5. 將測(cè)試代碼和工作代碼放在一起,一邊同步編譯和更新。(使用Ant中有支持junit的task.)
6. 測(cè)試類和測(cè)試方法應(yīng)該有一致的命名方案。如在工作類名前加上test從而形成測(cè)試類名。
7. 確保測(cè)試與時(shí)間無(wú)關(guān),不要依賴使用過(guò)期的數(shù)據(jù)進(jìn)行測(cè)試。導(dǎo)致在隨后的維護(hù)過(guò)程中很難重現(xiàn)測(cè)試。
8. 如果你編寫的軟件面向國(guó)際市場(chǎng),編寫測(cè)試時(shí)要考慮國(guó)際化的因素。不要僅用母語(yǔ)的Locale進(jìn)行測(cè)試。
9. 盡可能地利用JUnit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡(jiǎn)潔。
10.測(cè)試要盡可能地小,執(zhí)行速度快。
11.不要硬性規(guī)定數(shù)據(jù)文件的路徑。
12.利用Junit 的自動(dòng)異常處理書寫簡(jiǎn)潔的測(cè)試代碼
事實(shí)上在Junit 中使用try-catch 來(lái)捕獲異常是沒有必要的,Junit 會(huì)自動(dòng)捕獲異常。那些沒有被捕獲的異常就被當(dāng)成錯(cuò)誤處理。
13. 充分利用Junit 的assert/fail 方法
assertSame()用來(lái)測(cè)試兩個(gè)引用是否指向同一個(gè)對(duì)象
assertEquals()用來(lái)測(cè)試兩個(gè)對(duì)象是否相等
14. 確保測(cè)試代碼與時(shí)間無(wú)關(guān)
15. 使用文檔生成器做測(cè)試文檔。
看別人的代碼是一件比較痛苦的事情,如果代碼注釋多并且編寫很規(guī)則的話那就比較好,
如果有項(xiàng)目需求文檔或流程設(shè)計(jì)圖最好先看看系統(tǒng)的整體功能
然后根據(jù)項(xiàng)目的模塊劃分對(duì)整體有一個(gè)認(rèn)知
再根據(jù)模塊找到對(duì)應(yīng)的代碼模塊(需要注意模塊間的關(guān)聯(lián))
根據(jù)DB設(shè)計(jì)說(shuō)明查看業(yè)務(wù)表的關(guān)聯(lián)關(guān)系
最后根據(jù)項(xiàng)目文檔重新查看項(xiàng)目整體構(gòu)成,這樣看印象比較深刻一些,千萬(wàn)不要摳某一個(gè)功能的具體業(yè)務(wù)與實(shí)現(xiàn),只需要知道模塊的大概業(yè)務(wù),然后當(dāng)需要的時(shí)候再進(jìn)行細(xì)細(xì)研究某一功能
以上是我的經(jīng)驗(yàn)之談,希望對(duì)你有幫助。
先把int類型的數(shù)據(jù)轉(zhuǎn)換成String類型,然后判斷String類型的數(shù)據(jù)是否為空。
示例代碼:
int point;
String val=point +"";?if("".equals(val)){?// do something...}
PS:int point不是對(duì)象,int類型為空時(shí)默認(rèn)為0。
還有方法是:
如果point是int類型,則得到的結(jié)果是不可能是null的。?
如果插入一條數(shù)據(jù)時(shí)沒有插入給字段,而數(shù)據(jù)庫(kù)里默認(rèn)是null的值的話,可以使用?Integer point= GiftInfo.getPoints();?
然后判斷point是否等于空。?
示例代碼:
Integer point= GiftInfo.getPoints();
if(point == null){?// do something...}
PS:GiftInfo.getPoints返回的是Integer類型,Integer類型是包括基本類型的包裝類,不給賦值的時(shí)候?yàn)閚ull。
參考資料
判斷int類型是否為空.CSDN博客 [引用時(shí)間2017-12-27]
文章標(biāo)題:java代碼怎么自測(cè),代碼寫好了怎么測(cè)試
瀏覽地址:http://chinadenli.net/article36/dsgdosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站改版、品牌網(wǎng)站制作、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容