2013-09-21 62 views
-1

我正在研究互斥體和信號量的編程解決方案。我在這裏討論的大多數循環是:什麼是「while true do skip」

while(true) 
{ 
/* do nothing*/ 
} 

我碰到一些僞代碼的算法,他們有

while choosing[i] do skip ; 

choosing是布爾數組)

所以是do skip就像「不做任何事」一樣?

我打算在java中實現psuedocode。

回答

1

使用continue

while(true) 
{ 

//condition 
continue; 
} 

Branching Statements

見甲骨文文檔continue語句跳過爲當前迭代,while或do-while循環。

見甲骨文

public static void main(String[] args) { 

     String searchMe = "peter piper picked a " + "peck of pickled peppers"; 
     int max = searchMe.length(); 
     int numPs = 0; 

     for (int i = 0; i < max; i++) { 
      // interested only in p's 
      if (searchMe.charAt(i) != 'p') 
       continue; 

      // process p's 
      numPs++; 
     } 
     System.out.println("Found " + numPs + " p's in the string."); 
    } 

Here is the full demo code

+0

這不是一個無限循環? –

+1

@kocko查看演示代碼。 –

0

給予我覺得它更像是例如:

if(! choosing[i]) { 
     //Do some logic 
} 
+0

謝謝,這是有道理的。這基本上是「繼續」。我只是不明白他們爲什麼會'跳過',因爲在psuedocode中,'while'循環內沒有其他邏輯。 – k29

相關問題