每N名员工不';行不通 import java.util.LinkedList; 导入java.util.List; 导入java.util.ListIterator; 公共类vijftienpunt1{ 公共静态无效缩减(LinkedList employeeNames,int n){ 对于(int i=0;i

每N名员工不';行不通 import java.util.LinkedList; 导入java.util.List; 导入java.util.ListIterator; 公共类vijftienpunt1{ 公共静态无效缩减(LinkedList employeeNames,int n){ 对于(int i=0;i,java,Java,当我运行它不工作时,它会删除其他第n个元素,我如何修复它。我尝试了更多的操作,但仍然不起作用无论何时要从列表中删除元素,都可以使用迭代器 请尝试以下代码: import java.util.LinkedList; import java.util.List; import java.util.ListIterator; public class vijftienpunt1 { public static void downsize(LinkedList<String> emplo

当我运行它不工作时,它会删除其他第n个元素,我如何修复它。我尝试了更多的操作,但仍然不起作用

无论何时要从列表中删除元素,都可以使用迭代器

请尝试以下代码:

import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class vijftienpunt1 {

public static void downsize(LinkedList<String> employeeNames, int n) {
    for (int i = 0; i < employeeNames.size(); i++) {
        if(i%n==0) {
            employeeNames.remove(i);
        }
    }
}

public static void main(String[] args) {
    LinkedList<String> employeeNamess = new LinkedList<String>();

    employeeNamess.add("Ab");

    employeeNamess.add("Yo");
    employeeNamess.add("Ik");
    employeeNamess.add("Jij");

    System.out.println(employeeNamess);
    downsize(employeeNamess, 2);
    System.out.println(employeeNamess);
}
}
公共静态无效缩减(LinkedList employeeNames,int n){
int i=1;
迭代器iter=employeeNames.Iterator();
while(iter.hasNext()){
iter.next();
如果(i%n==0){
iter.remove();
}
i++;
}
}

无论何时要从列表中删除元素,都要使用迭代器

请尝试以下代码:

import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class vijftienpunt1 {

public static void downsize(LinkedList<String> employeeNames, int n) {
    for (int i = 0; i < employeeNames.size(); i++) {
        if(i%n==0) {
            employeeNames.remove(i);
        }
    }
}

public static void main(String[] args) {
    LinkedList<String> employeeNamess = new LinkedList<String>();

    employeeNamess.add("Ab");

    employeeNamess.add("Yo");
    employeeNamess.add("Ik");
    employeeNamess.add("Jij");

    System.out.println(employeeNamess);
    downsize(employeeNamess, 2);
    System.out.println(employeeNamess);
}
}
公共静态无效缩减(LinkedList employeeNames,int n){
int i=1;
迭代器iter=employeeNames.Iterator();
while(iter.hasNext()){
iter.next();
如果(i%n==0){
iter.remove();
}
i++;
}
}

试试看(如在桌子上玩扑克牌),你会很快发现它不起作用的原因。提示:试着颠倒顺序。@fvu我还是不明白如果你删除了一个元素,下列元素的索引就会减少。这就是为什么它似乎删除了“随机”元素,这就是我的提示。@fvu我如何修复这些数字,我是一个初学者,使用迭代器删除元素,例如在桌子上玩扑克牌,你会很快注意到为什么它不起作用。提示:试着颠倒顺序。@fvu我还是不明白如果你删除了一个元素,下列元素的索引就会减少。这就是为什么它似乎删除了“随机”元素,这就是我的提示。@fvu我如何修复这些数字,我是一个初学者使用迭代器删除元素谢谢!如何在forloop中修复此问题,?我已经试过了,但是我的版本不行。谢谢!如何在forloop中修复此问题,?我试过了,但我的版本不起作用