2016-01-23 194 views
-4

我有一個問題:有人可以給我一個搜索二進制表的例子來找到從1到0的變化嗎?例如,一行有搜索二進制表

0 0 0 1 1 0 0 0 0 1 1 1 0 0 

它應該給我2個變化。我只想搜索一行。

+2

好,假設上面的線是一個字符串,你循環左到右,開始'I = 1'中去,而'我<行。在每次循環迭代時檢查if(line [i - 1] == 1 && line [i] == 0)是否改變++; – nem035

+4

如果您無法弄清楚,請嘗試將其發佈到此處。這樣你可以更好地學習。 –

+0

哦,謝謝,它真的很有幫助,尼姆:) – Natalia

回答

0
for(int i=1; i< binarytableline.length; i++){ 
if (binarytableline[i - 1] == 1 && line[i] == 0) changes++;  
} 

請記住,標從零開始:

enter image description here (Java文檔)

從本質上講,什麼代碼發生以上是我們通過線循環。現在,我是索引。讓我們從循環的開始開始。

i=1 

所以,binarytableline [1-1] =二進制錶行的第一個索引,或者是第一個數字。現在,我們看到它是否等於1,而第二個索引i等於0。要檢查,我們做以下幾點:

binarytableline[i - 1] == 1 && line[i] == 0 

這將意味着在二進制數字到下一個變化從一個數字,在我們的例子是第0指數第一。現在,我們通過做changes++來迭代變量changes。再次,這是一個for循環,這意味着我們將遍歷所有這樣的元素。其變化的次數將被記錄在int changes中。

讓我知道這是否幫助,

Ruchir

+0

非常感謝,這是巨大的幫助,你讓我明白這一點:) – Natalia

+0

@Natalia沒問題納塔利婭!我很樂意提供幫助。你的二進制表是一個int數組,對嗎? –

+0

是的,它是Integer類型@Ruchir Baronia :) – Natalia