Java 如何从数组列表中删除空索引?
假设用户在一个数组中输入10个名称,程序将从列表中删除第5个名称 下面是我想到的一些代码:Java 如何从数组列表中删除空索引?,java,Java,假设用户在一个数组中输入10个名称,程序将从列表中删除第5个名称 下面是我想到的一些代码: String [] invites = new String [10]; //****User Input**** System.out.println("Please enter 10 names: "); System.out.println("*************************************************"); //****For loop*
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:您调用了intArraysize
。这从两个方面验证了java命名约定。1.:变量应以小写开头。2.:用例。那么-请-将其命名为arraySize
这必须是字符串[]
还是实际上可以是列表
?如果可以,可以使用List.removeAll()
方法删除空元素。为什么需要变量Arraysize
?您可以调用invests.length
获取数组大小如果(names!=null&&names.length()>=1)谢谢Roushan和Lonely!这似乎是我的for语句下if语句的修复方法。编写names.length()>=1
的更惯用方法是!names.isEmpty()
@AndyTurner-很好的建议