当前位置: 首页 > 知识库问答 >
问题:

从字符串数组中移除元素[重复]

董新觉
2023-03-14

我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除

例如,我们有一个函数remove

 public static String[] remove(String[] element, String value) {

        int validSize = 0;
        String[] n_elements = new String[0];
        for (int i = 0; i < element.length; i++) {
            if (element[i] == value) {
                element[validSize] = element[i];
                validSize++;
            }

            n_elements = new String[validSize];
            if (validSize >= 0) System.arraycopy(element, 0, n_elements, 0, validSize);


        }

        return n_elements;
    }
public static void main(String[] args) {

 
    String[] group_A = {"Alexandr", "Ahmed", "Maria", "elf", "Omar", "Mariam"};

    Scanner s  = new Scanner(System.in);     

    System.out.println(Arrays.toString(group_A));

    String value = "elf";
    group_A = remove(group_A,value);
    System.out.println(Arrays.toString(group_A));
}
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]
[Alexandr, Ahmed, Maria, Omar, Mariam]
 String value = s.next();
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]
elf
[Alexandr, Ahmed, Maria, elf, Omar, Mariam]

共有1个答案

缪征
2023-03-14

您的代码漏掉了一个“!”在条件之前,您需要使用。equals()而不是“==”:

public static String[] remove(String[] element, String value) {

        int validSize = 0;
        String[] n_elements = new String[0];
        for (int i = 0; i < element.length; i++) {
            if (! element[i] .equals( value )) {
                element[validSize] = element[i];
                validSize++;
            }
            n_elements = new String[validSize];
            if (validSize >= 0) System.arraycopy(element, 0, n_elements, 0, validSize);
        }
        return n_elements;
    }

public static void main(String[] args) throws IOException {
     String[] group_A = {"Alexandr", "Ahmed", "Maria", "elf", "Omar", "Mariam"};
        Scanner s  = new Scanner(System.in);     
        System.out.println(Arrays.toString(group_A));
        String value = s.nextLine();
        //we already initialized a value for it
        group_A = remove(group_A,value);
        System.out.println(Arrays.toString(group_A));
}
 类似资料:
  • 我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除

  • 问题内容: 如何在不使用HashSet的情况下从字符串数组中删除重复的字符串? 我尝试使用循环,但是单词不能删除。 问题答案: 尝试使用以下代码删除重复的单词:

  • 我有一个名为arr的数组,大小为1024。所以基本上我想删除数组的第1X个元素。我该怎么做?我是这么想的:创建一个指针,指向数组的第一个值(ARR[0])。执行指针算术将其带到数组的第X个元素。然后将arr[0]设置为指针p,这将有效地移除前X个元素?这样行吗?或者有没有更简单的方法来移除数组的前X个元素?

  • 问题内容: 我正在制作一个基于Java中字符串处理的程序,其中需要从字符串数组中删除重复的字符串。在此程序中,所有字符串的大小均相同。 “数组”是一个字符串数组,其中包含许多字符串,其中两个字符串彼此相似。因此,使用下面的代码,必须删除重复的字符串,但是不能删除。 如何删除重复的字符串? 我正在使用以下代码。 问题答案: 这会工作 或者只使用a 而不是数组。

  • 我正在用Java制作一个基于字符串处理的程序,在这个程序中,我需要从字符串数组中删除重复的字符串。在这个程序中,所有字符串的大小都是相同的。 “数组”是一个字符串数组,包含许多字符串,其中两个字符串彼此相似。因此,使用下面的代码必须删除重复的字符串,但不会删除。 如何删除重复字符串? 我正在使用以下代码。

  • 本文向大家介绍JS 清除字符串数组中,重复元素的实现方法,包括了JS 清除字符串数组中,重复元素的实现方法的使用技巧和注意事项,需要的朋友参考一下 JS 清除字符串数组中,重复元素的实现方法 以上这篇JS 清除字符串数组中,重复元素的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。