2013-12-12 55 views
-1

我想將示例測試數據添加到我的NoteTableModel。使用UUID隨機生成Java測試數據

目前,我有它成立這樣的:

public void buildTestNoteTable(){ 

    String uuid = UUID.randomUUID().toString().substring(0,10); 
    //System.out.println(uuid); 


    for (int i = 0; i < 2000; i++){ 
     EssayNote newNote = new EssayNote(i, 20131105, "New Test note" +i, uuid); 
     noteTableData.add(newNote); 
    } 
} 

我想要做的是有它,這樣,說有長度爲10「等等等等等等」是隨機生成的字母部分。我應該如何更新我目前的方法才能做到這一點?

編輯:我使用UUID更新了代碼。我用uuid替換了硬編碼的「Blah Blah Blah」,現在我得到了一個隨機序列號,但是我得到的每個音符實例的編號都是相同的,這並不是我想要的。我怎樣才能讓每個EssayNote具有不同的UUID?

+0

看到這個問題:http://stackoverflow.com/questions/2626835/is-there-functionality-to-generate-a-random-character-in-java – akostadinov

+0

你應該使用屬性基於測試(quickcheck)。必須將隨機文本具有 – boring

+0

什麼性質?它必須分裂成單詞嗎?他們必須是一種特定語言的文字嗎? – Raedwald

回答

0

您可以使用UUID。 爲了使用它,你應該導入

import java.util.UUID; 

然後在你的代碼,你可以調用

String uuid = UUID.randomUUID().toString().substring(0,10); 
System.out.println("uuid = " + uuid); 

希望這個代碼將有助於你

OR 您可以使用自定義的方法

String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
int length = 10; 
public String generateString(){ 
    char[] randText = new char[length]; 
    for (int i = 0; i < length; i++) { 
     randText[i] = characters.charAt(Math.random()*length); 
    } 
    return new String(randText); 
} 

我還沒有編譯這段代碼,但它應該工作正常

+0

我使用的第一個戰略與UUID,併產生一個隨機字符串,但它爲每一個需要注意的是我有相同的字符串。我上面更新了我的代碼,以便您可以看到我正在處理的內容。我究竟做錯了什麼 ? –

+0

你應該把:字符串UUID = UUID.randomUUID()的toString()子(0,10);在for循環中 – abekenza

0

您也可以通過Java隨機函數產生一些數字,64-91之間,並把它們作爲ASCII字符。這將給你隨機字符