2015-02-08 57 views
-4

這裏是沒有問題如何解決我的解決方案的代碼,當它運行作爲JUnit測試

public boolean hasAdjacentRepeats(String s){ 

     for(int i = 0; i<s.length(); i++){ 

       if(s.charAt(i) == s.charAt(i + 1)){ 
        return true; 


       } 


     } 
     return false; 
    } 

我的解決方案的代碼,但在我的解決方案的代碼它像

@Test public void tests6(){ 
    code.Solution s = new code.Solution(); 
    String input = "hhhhhey "; 
    int expected = true; 
    int actual = s.hasAdjacentRepeats(input); 
    assertTrue("Expected was" +true+"but the actual was" +false , expected == actual); 

}

第一個錯誤是真實的。 eclipse顯示預期爲布爾型的更改類型 第二個錯誤是int actual = s.hasAdjacentRepeats(input)與上述問題相同。

所以我不知道修復我的解決方案代碼的適當方式是什麼。

+3

你知道什麼是'int'意思? – immibis 2015-02-08 06:23:30

回答

0

Java不支持隱式轉換從booleanint(像,例如,一樣。因此,無論是expected因爲你actual應定義爲boolean S,不int秒。

在一個不相關的音符, 「重新評估s.charAt(i + 1),你的循環應該結束在s.length() - 1,不s.length(),否則你會得到一個IndexOutOfBoundsException

+0

謝謝你這麼多,我完全解決我的問題! – sunqifeng 2015-02-09 04:06:54

相關問題