我在理解普通的一段java代碼和通過JUnit測試的代碼之間的區別時遇到了問題。在我的代碼和JUNIT測試中遇到問題
我在過去的4周裏每週都會爲學校寫過評論,而且我已經得到了0/100(自動標記),但是TA對我很好,給了我一些標誌着接近正確的答案。
本週我有同樣的事情..我有一個代碼,我認爲是正確的,並遵循作業說明。
你能幫我以某種方式「轉換」我的代碼,以便通過JUnit測試嗎?
謝謝..這裏是我的代碼應該做的:
所需的(公共)方法的描述:
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
- @參數字符串表示的inputPath本地文件系統路徑
- 到輸入文件
- @Returns包含字處理>計數映射 * 一個HashMap 10
- 此方法必須讀取文件(由inputFilePath標識)的內容,同時
- 一個字符,查找文件中的作者,並保持作者的跟蹤
- 計數的java.util.HashMap中。
-
- 的作者定義爲出現
的「」和「」標籤其自身內部出現「」和「」標籤之間
- 字符的連續序列。
- ''是一個開始標籤,和''對應的結束標籤。同樣,
- ''是一個開始標籤,和''其對應的結束標籤。*
- 與HW4一樣,您必須使用狀態轉換圖來識別這些標籤,並在它們之間的文本識別這些問題的解決方案
- 。 *
- 您還必須準備繪製一張合適的狀態轉換圖,以便於下週的寫作。
-
- 您只能使用CharacterFromFileReader從輸入
- 文件讀取字符。 * * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **/
,這裏是我的代碼:
public class Temp {
@Test public void temp(String path) {
CharacterFromFileReader reader = new CharacterFromFileReader(path);
HashMap<String, Integer> map = new HashMap<String, Integer>();
int authorCount = 0;
int state = 0;
String s = "";
for (int i=0; i<s.length(); i++) {
while (reader.hasNext()) {
char c = s.charAt(i);
switch (state) {
case 1:
if (c == '<') {
state = 2;
}
break;
case 2:
if (c == 'D') {
state = 3;
} else {state = 1;}
break;
case 3:
if (c == '>') {
state = 4;
} else {state = 1;}
break;
case 4:
if (c == '<') {
state = 5;
} else {state = 4;}
break;
case 5:
if (c == 'A') {
state = 6;
} else {state = 4;}
break;
case 6:
if (c == '>') {
state = 7;
} else {state = 4;}
break;
case 7:
if (c != '<') {
s += c;
} else if (c == '<') {
state = 8;
} else {state = 7;}
break;
case 8:
if (c == 'a') {
state = 9;
} else {state = 7;}
break;
case 9:
if (c == '>') {
state = 10;
authorCount++;
map.put(s, authorCount);
} else {state = 7;}
break;
case 10:
if (c == '<') {
state = 11;
}
break;
case 11:
if (c == 'A') {
state = 5;
} else if (c == 'd') {
state = 12;
} else {state = 10;}
break;
case 12:
if (c == '>') {
System.out.println(map);
}
break;
}
}
}
}
}
你可以發佈你的作業問題嗎?所以我們知道這個源代碼試圖做什麼。然後我們可以看看它,並給你更多的信息。 – Halfwarr 2012-02-27 02:16:40
或者提供JUnit測試用例(如果有的話)...我假設您的代碼應該由您的老師給出的測試用例調用。 – NightWolf 2012-02-27 02:39:29