我想在java中編寫一個解析字節數組以確定它是否遵循特定模式的函數。這種模式如下:驗證字節數組
- 前兩個在陣列中的字節是1和0
- 的兩個字節,接着通過一個0
- 此隨機字節的序列終止字節的隨機序列後面跟着字節也由0
- 終止的另一隨機序列,存在有下列此終止0
我有麻煩的如何處理實現這樣的功能的邏輯的思維沒有字節。
我想在java中編寫一個解析字節數組以確定它是否遵循特定模式的函數。這種模式如下:驗證字節數組
我有麻煩的如何處理實現這樣的功能的邏輯的思維沒有字節。
假設你有一個已經初始化,並且具有的長度大於2個字節的初始數組:
byte[] array = ...
如果前兩個字節分別爲1和0,則:
array[0] == 1 && array[1] == 0
然後你會說有兩個隨機字節序列,必須必須以0結尾。這意味着我們只需要在前兩個索引之後專門查找數組中的兩個0。
Collections.frequency(Arrays.asList(Arrays.copyOfRange(array, 2, array.length)), 0) == 2
還必須檢查最後一個字節是0:
array[array.length - 1] == 0
如果我正確讀取OP,則必須有一個1,0和兩個(非零)字節序列,每個字節都以零結尾,僅此而已。所以你還需要檢查'array [array.length-1] == 0'是否符合所有條件,如果它們確實如我所理解的那樣。 –
@凱文安德森好抓! –
對於所需格式的任何輸入數組字節,對collections.frequency的調用始終返回值0。我該如何解決這個問題? – martinsarif
什麼具體問題?你有規則來匹配模式。 –
你如何解決這個問題?直。規則非常清晰,您只需將其翻譯成程序即可。想想什麼阻止了你,並且請讓問題更具體。 –