Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 如何从数组列表中删除空索引?_Java - Fatal编程技术网

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

Java 如何从数组列表中删除空索引?,java,Java,假设用户在一个数组中输入10个名称,程序将从列表中删除第5个名称 下面是我想到的一些代码: String [] invites = new String [10]; //****User Input**** System.out.println("Please enter 10 names: "); System.out.println("*************************************************"); //****For loop*

假设用户在一个数组中输入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("*************************************************");
String[]邀请=新字符串[10];
//****用户输入****
System.out.println(“请输入10个名称:”);
System.out.println(“*******************************************************************”);
//****For循环****
对于(int i=0;i<10;i++){
邀请[i]=sc.nextLine();
}
System.out.println(“*******************************************************************”);
//****数组大小****
int-Arraysize=10;
//****删除第5个索引****
int目标=4//消除此元素
for(int i=target;i


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

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

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

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

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

//****Display Array List****
for(int i = 0; i < Arraysize; i++) {
    System.out.println(invites[i]);
}
//****显示阵列列表****
for(int i=0;i
它不是数组列表,它只是一个数组。您可能需要查看数组的长度属性。也许ArrayList更容易为您处理。OT:您调用了int
Arraysize
。这从两个方面验证了java命名约定。1.:变量应以小写开头。2.:用例。那么-请-将其命名为
arraySize
这必须是
字符串[]
还是实际上可以是
列表
?如果可以,可以使用
List.removeAll()
方法删除空元素。为什么需要变量
Arraysize
?您可以调用
invests.length
获取数组大小如果(names!=null&&names.length()>=1)
谢谢Roushan和Lonely!这似乎是我的for语句下if语句的修复方法。编写
names.length()>=1
的更惯用方法是
!names.isEmpty()
@AndyTurner-很好的建议