0
我在C#中創建了一個程序,它通過一個字符串並計算字符的頻率。處理換行符
基本上我有2類
class Node
{
private char character;
private float frequency;
public void increment();//increments frequency
}
class FreqTbl
{
private List<Node> nodes;
public void buildTable(char Symbol)
{
bool found = false;
foreach (var node in nodes.Where(n => n.getSymbol() == Symbol))
{
node.increment();
found = true;
}
if(found == false)
{
newNode(Symbol);
}
}
}
通過文本框的GUI,該程序通過一個焦炭引入FreqTbl.buildTable,其通過節點字段進行搜索。而所有其他字符處理沒有問題,換行輸出
說出現兩次,如果文本框具有輸入
鏈表
紅黑樹
的結果輸出將是
l:3
I:2
N:1
K:2
E:4-
d:2
:3
S:1
t:2
\ n
:1
\ n
:1
R:2
B:1
一個:1
Ç :1
\ n代表換行符。無論如何要解決這個問題,只有1個換行符出現在輸出中?
看來你有兩個節點,其都代表\ n。消除其中一個。或(不太可能),你可能只是在你的輸出過程中的錯誤... – elgonzo
你爲什麼不修剪輸入字符串的結束,以確保你不要尾隨'\ N' – Hassan
有丟失了大量的代碼從這個例子:'Node.increment()'未被實現並且'FreqTbl。節點'是無法輸出的,沒有'newNode'或'getSymbol'方法定義,這只是開始...仍然,看看我是否能用最少的編輯重現... –