2013-10-08 122 views
-1

任何人都可以請幫助我確定我的代碼在這裏的指令有什麼問題:http://prntscr.com/1w02ns 我不知道什麼是錯的。我的blueJ項目中的大部分測試都通過了,但有些沒有。有人可以請幫助我一個for循環java代碼

到目前爲止我的代碼在這裏:

String prefix (String n, int num) 
    { 
     int count = 0 ; 
     for(int i = 0; i <n.length(); i++) 
     { 
      if(n.charAt(i) == num) 
      { 
       ++count; 
      } 
     } 
     return n; 
    } 
+1

這不是爲別人做功課的最佳場所。 :) –

+1

提供的代碼是超級無bug。錯誤是一些其他地方。 –

+1

你得到的錯誤是什麼?堆棧跟蹤看起來像你問過類似的問題。你不會得到正確的答覆,除非你修改了你的問題,這樣我們才能理解。 – Madusudanan

回答

0

在你的情況變量count不被使用。

如果你真的想用一個循環,而不是一個字符串,你可以嘗試這樣的:

String prefix(String str, int n) { 
     String result = ""; 
     for (int i = 0; i < n; i++) { 
      result += str.toCharArray()[i]; 
     } 
     return result; 
} 
3

你爲什麼要使用一個循環?你的任務只是說你需要接受一個字符串和一個數字。

你可以這樣做:

public String prefix(String text, int characters) { 
return text.substring(0, characters); 
} 

參考:toString javadoc

編輯: 爲什麼失敗,以及它是如何確定的?我們可能需要了解哪些要求/規則? 下面的JUnit測試工作正常:

@Test 
public void testPrefix() { 
    Assert.assertEquals("hel", prefix("hello", 3)); 
} 
+4

帶返回String語句的void方法。真棒! – SudoRahul

+1

@ R.J您可能想了解編輯功能如何在堆棧溢出中工作。我只是在半秒鐘內寫了這個函數,所以有時會發生錯誤。但無論如何,我確定了我的答案。 –

+0

如果有錯別字,我會喜歡修復它。此外,爲什麼你會如此匆忙,以至於你會提出一個有這麼多錯誤的答案?! – SudoRahul

0

爲什麼循環的人嗎? 使用substring na ??

public class Prefix { 

    public static void main(String args[]){ 
     String r = prefix("Why loop? use substring. Well unless your homework says use loop" , 4); 
     System.out.println(r); 
    } 

    private static String prefix(String string, int i) { 
     // TODO Auto-generated method stub 
     return string.substring(0,i); 

    } 

} 
+0

不,是的。我要麼必須使用FOR循環或WHILE循環:/ @harsha – blueJavaMAN

+0

現在沒事了。感謝大家!現在明白了:) – blueJavaMAN

0

你可以簡單的使用:

static String prefix(String n, int num) throws Exception { 
    if (n != null && n.length() < num) 
     throw new Exception(); 

    return n.substring(0, num); 

} 
+0

現在沒事了。感謝大家!現在明白了:) – blueJavaMAN

+0

@blueJavaMAN你會介意標記一個作爲答案嗎? –

相關問題