编辑:在你的帮助下,我设法解决了我的问题。我编辑了我的代码,现在演示如何设置它以使其工作。试图比较两个迭代器的内容,怎么样?
目前我无法编码比较两个迭代器内容的部分。作为我的任务的一部分,我需要使用链表来存储输入字符串的单个字符。我已经到了我有两个包含输入单向和反向输入的迭代器的地步。
String palindrom = input.getText();
String [] chara = palindrom.split (""); //this is successfully splitting them, tested.
int length = palindrom.length(); // length == 8
System.out.println (length); //can use this for how many checks to do?
LinkedList ll = new LinkedList(Arrays.asList(chara));
Iterator iterator = ll.iterator();
Iterator desIterator = ll.descendingIterator();
/*while(iterator.hasNext()){
System.out.println(iterator.next());
}
while(desIterator.hasNext()){
System.out.println(desIterator.next());
}*/
boolean same = true;
while(iterator.hasNext()){
if(!iterator.next().equals(desIterator.next())){
same = false;
break;
}
}
而且使用的System.out我可以看到,他们正在正确保存,但我不知道如何检查迭代器存储相同内容。什么是比较两个迭代器或将它们转换成我可以比较的最简单方法之一?澄清我想验证它们包含相同的顺序相同的元素。
为了澄清,您是否想要确认两个迭代器只有相同的元素,或者两个迭代器具有相同的元素,并且顺序相同。 – kag0 2015-03-25 00:39:04
这不是真的这里的问题。 OP迭代通过两个迭代器输出值,之后两个迭代器都是“空的”,因此将被识别为“相等”。您应该创建新的迭代器进行比较。 – 2015-03-25 00:48:28
好的,我用那条线代替了那条线,但它仍然返回,我所有的错误输入都是真的。还有什么你可以认为我可能需要修复的?该打印现在也输出文本的随机乱码。 另外我希望他们有相同的顺序相同的元素。抱歉含糊不清。 – user286152 2015-03-25 00:51:52