首先,我想解释一下sod1函数的作用,因此其余内容将更易于理解。它获取一个列表和一个char,然后检查char是否存在于列表中,如果存在则返回char。问题出现在下一个功能中。我希望函数sod2检查a的下一个字符是否为b或b的下一个字符是否为a。你们看到问题了吗?
公共类MainClass {
public static void main(String[] args) {
Node<Character> n1 = new Node<Character>('b');
Node<Character> n2 = new Node<Character>('a');
Node<Character> n3 = new Node<Character>('s');
Node<Character> n4 = new Node<Character>('h');
n1.setNext(n2);
n2.setNext(n3);
n3.setNext(n4);
System.out.println(checkAB(n1));
}//Main
public static Node<Character> sod1(Node<Character> lst, char ch){
if(lst == null) return null;
if(lst.getValue() == ch) return lst;
return sod1(lst.getNext(), ch);
}
public static boolean checkAB(Node<Character> lst) {
if(sod1(lst,'a').getNext().equals('b') || sod1(lst, 'b').getNext().equals('a'))
return true;
return false;
}
} //班级
答案 0 :(得分:0)
getNext()将返回Node <字符>,您不应将其与字符串进行比较。
通过调用getValue()函数或与另一个具有值'a'或'b'的Node