2015-05-21 30 views
-1

我想旋轉具有多於兩個元素的字符串中的元素並將其打印出來。旋轉具有兩個以上字符的字符串中的元素並將它們打印出來

public class Solution1 { 

    public static void main(String[] args) { 

     String strArray[] = { "ab", "bc", "abc", "ca", "cba", "xyz", "xy" }; 
     int shift = 0; 
     for (int i = 0; i < strArray.length; i++) { 
      for (int j = i; j < strArray.length; j++,i++) { 
       if (strArray[j].length() >= 3) { 
        strArray[shift] = strArray[j]; 
        break; 
       } 
      } 
      shift++; 
     } 

     for (int i = 0; i < shift; i++) { 
      System.out.println(strArray[i]); 
     } 
    } 
} 

我得到正確的輸出爲:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xyz" }

但不是:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xy" }

有什麼不對?

+0

已解決!!!而不是在外側的移位增量。修改後的strArray [shift ++] = strArray [j]; –

+0

更好的解釋和更正 –

+0

俯視東西 –

回答

1

如果您將shift++;代替break;聲明,那麼您的代碼將起作用。但是,您的解決方案可以進行簡化和改進。

+0

而不是偏移移位增量..修改後的strArray [shift ++] = strArray [j];這解決了這個問題。 –

相關問題