gpt4 book ai didi

java - 使用传统的 for 循环删除字符串数组中的某些元素

转载 作者:行者123 更新时间:2023-12-02 03:51:43 25 4
gpt4 key购买 nike

作业描述: 编写一个传统的 for 循环,检查字符串“Meg”的每个元素,如果在数组中找到,则将其删除,移动剩余元素,并显示名称数组。

我无法理解这个概念。我了解如何初始化数组并在循环之外重新分配元素,但无法弄清楚如何在 for 循环内替换它们。这就是我所拥有的。这是我的第一堂编程课,我的处境非常艰难。如果有更多经验的人可以彻底解释删除“梅格”的过程,我会比你知道的更感激。

程序:

public class CustomerListerArray{

public static void main(String[] args){

String[] customerNames = new String[7];

customerNames[0] = "Chris";
customerNames[1] = "Lois";
customerNames[2] = "Meg";
customerNames[3] = "Peter";
customerNames[4] = "Stewie";

for(String element : customerNames){
System.out.println(element);
}
System.out.println();

customerNames[6] = customerNames[4];
customerNames[5] = customerNames[3];
customerNames[4] = "Brian";
customerNames[3] = "Meg";

for(String element : customerNames){
System.out.println(element);
}

System.out.println();
//******************************************************************
for(int i = 0; i < customerNames.length; i++) {

if(customerNames.equals("Meg")){
customerNames[i] = null;

for(int j = i; customerNames.equals(null); j++){
customerNames[i] = customerNames[j + 1] ;
System.out.println(customerNames[i]);
}
}
}//******************************************************************
}
}

最佳答案

解决此问题的最简单方法是声明另一个大小为 customerNames 的数组,如果 customerName 为“Meg”,则迭代 customerNames ,然后什么都不做,否则将其添加到新数组中。最后你将得到一个包含除“meg”之外的所有名称的数组。在这个 for 循环中,您可以计算非“meg”名称。

另一种低效的方法是每次找到“meg”时,都会将所有元素向上移动一个。因此,如果您在 i=2 处找到“meg”,则从 2 开始迭代数组,customerNames[i]=customerNames[i+1] 这将移动所有元素一一呈现。此方法将起作用,因为您要将存储“meg”的索引替换为紧随其后的元素。

将其想象为一系列盒子,当您在中间取出一个盒子时,您希望向上移动所有其他盒子以消除空白空间。或者甚至更好地在 Excel 数字 1-10 中取一列,如果您清空随机单元格,则必须将每个单元格逐一向上移动以填补空白。 (显然Excel中有一个解决方法,只是一个例子)

我会给你解决方案,但在我看来,作为一个初学者,经历这种痛苦并自己解决它是至关重要的。

关于java - 使用传统的 for 循环删除字符串数组中的某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com