如何从数组列表中删除空索引?

时间:2018-04-20 18:08:09

标签: java

用户假设在数组中输入10个名称,程序将从列表中删除第5个名称。

这是我提出的一些代码:

String [] invites = new String [10];

//****User Input****         
System.out.println("Please enter 10 names: ");
System.out.println("*************************************************");

//****For loop****
for(int i = 0; i < 10; i++){
    invites[i] = sc.nextLine();
}

System.out.println("*************************************************");

//****Array size****
int Arraysize = 10;

//****Remove 5th Index****
int target = 4;//eliminate this element

for(int i = target; i < Arraysize -1; i++){
    invites[i] = invites[i+1];
}


//****reset last element****
invites[Arraysize - 1] = ("1");

//****Lower Logicalsize****
Arraysize --;

//****Display Array List****
for (String names : invites) {
     System.out.println(names);
}

System.out.println("*************************************************");

当向用户显示时,它将使第9个索引留空。我只想在数组列表中删除空格。

3 个答案:

答案 0 :(得分:1)

打印前只需检查字符串的长度:

//****Display Array List****
for (String names : invites) {
    if(names != null && names.length() >= 1) //print names which have atleast one char
         System.out.println(names);
}

答案 1 :(得分:0)

如果我理解正确,您只想显示非空数组的字符串。如果是这种情况,我们可以在给出sysout之前检查该值是否为null或为空。

答案 2 :(得分:0)

您可以完美地使用您已经维护的Arraysize变量:

//****Display Array List****
for(int i = 0; i < Arraysize; i++) {
    System.out.println(invites[i]);
}