Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件IO的LinkedList在输出时显示相同_Java_File Io_While Loop_Linked List - Fatal编程技术网

Java 文件IO的LinkedList在输出时显示相同

Java 文件IO的LinkedList在输出时显示相同,java,file-io,while-loop,linked-list,Java,File Io,While Loop,Linked List,LinkedList仅显示相同的输出。我试图使用最后一个while循环,但它不起作用。这是一个“鸭-鸭-鹅”问题。我不应该使用索引 19个名字 公共类{ 公共静态void main(字符串[]args){ LinkedList LinkedList=新建LinkedList(); //添加尝试捕获以添加列表 试一试{ FileReader fr=新的FileReader(…players.txt”); 扫描仪填充=新扫描仪(fr); while(infle.hasNextLine()){ ad

LinkedList仅显示相同的输出。我试图使用最后一个while循环,但它不起作用。这是一个“鸭-鸭-鹅”问题。我不应该使用索引

19个名字

公共类{
公共静态void main(字符串[]args){
LinkedList LinkedList=新建LinkedList();
//添加尝试捕获以添加列表
试一试{
FileReader fr=新的FileReader(…players.txt”);
扫描仪填充=新扫描仪(fr);
while(infle.hasNextLine()){
add(infle.nextLine());
}
}catch(filenotfounde异常){
e、 printStackTrace();
}
迭代器迭代器=linkedlist.Iterator();
//检查直到最后一个列表
而(!iterator.hasNext()){
if(iterator.next().equals(getRandomBoolean())){
iterator.remove();
}
}
System.out.println(linkedlist);
}
公共静态布尔getRandomBoolean(){
返回Math.random()<10*0.5;
}
}
这永远不是真的,因为迭代器包含
字符串
s,而不是
布尔值
s,所以您永远不会执行
迭代器。remove();

相反:

iterator.next(); // gets but ignores the next String.
if (getRandomBoolean()) {

此外,您的循环从不执行:

while (!iterator.hasNext()) {
因为迭代器最初有下一个元素

卸下


此外,这:

Math.random() < 10 * 0.5
Math.random()<10*0.5
始终为真,因为
Math.random()
严格小于1,
10*0.5
等于5


删除<代码> 10 *<代码>,或选择“代码”的RHS值。谢谢!输出仍然显示所有19个名字。直到最后一个赢家才删除。再次感谢先生。它显示三个或四个名字。我该如何修复这个?@阿什卡纳拉尔完全依赖于你认为是错误的,剩下的3或4。价值观。请自己试一试。另请参见:

while (!iterator.hasNext()) {
Math.random() < 10 * 0.5