我創建了一個TreeNode類,它包含樹節點(命名分支)的ArrayList,並且我想通過用戶輸入的路徑將新分支添加到樹中。一個示例路徑是/ Monkey/King/Bar,其中每個理想情況下都是現有分支,但最後一個分支(Bar將是我想添加到King的分支)。 Temp是一個全局變量,用於向樹中添加新的分支並使用遞歸我試圖沿着驗證每個分支是前一個分支的孩子的路徑移動,並且在使它工作時遇到了一些麻煩。這是我到目前爲止所想知道的,當我重新聲明臨時樹節點時,是否與設置父節點有關。任何幫助將不勝感激,如果我說的話太模糊,請要求澄清。無法檢查輸入到樹中的有效路徑(字符串)
TreeNode tree = root;
boolean valid = false;
String y = x; //User entered path
for (int i = 0; i < x.length(); i++)
{
if (x.charAt(i) == '/')
{
for (int j = 0; j < tree.branch.size(); j++){
if (tree.branch.get(j).toString().equals(y)){
System.out.println(temp.value);
tree = tree.branch.get(j);
temp = tree;
valid = true;
}
else
valid = false;
}
y = "";
}
你對這條線有什麼期待? if(tree.branch.get(j).toString()。equals(y)) 是不是y不存在的完整字符串/ Monkey/King/Bar?你不應該比較一些y的範圍嗎? – rooftop
當您嘗試使用此代碼時會發生什麼?它與你希望發生的事情有什麼不同? 「讓它工作起來有點麻煩」,很模糊...... –
你有沒有注意到''i'沒有在你的循環體內的任何地方使用,除非你檢查'x.charAt(i)'是否是' /'?特別是,你沒有做任何事情來從'x'中提取任何子字符串。你不是嗎? –