简体   繁体   English

如何从 java 数组中删除字符串

[英]How to remove string from java array

How can I delete the foodname "Hotdog" from the array if appeared?如果出现,如何从数组中删除食物名称“Hotdog”?

import java.util.Scanner;
import java.util.Arrays;
class Main {
  public static void main(String[] args)  {
    Scanner input =new Scanner(System.in);
  System.out.println ("Enter num of food: ");
    int n = input.nextInt();
    
  while (n>10){
    System.out.println("Wrog");
    n = input.nextInt();
  }
    String name[] = new String[n];
  System.out.println ("Enter food name: "); 

    for (int i=0;i<name.length;i++){
      name[i] = input.next();
      String inp= "hotdog";
      if(Arrays.asList(name).contains(inp)){
        System.out.println ("Not valid"); 
      }
    }
      for (int i=0;i<name.length;i++){
      System.out.println(name[i]);
    }
}
}

I want to delete foodname that matches hotdog.我想删除与热狗相匹配的食物名称。 Also I want to remove array length.我也想删除数组长度。

You can use the ArrayList class to remove elements from the array.您可以使用 ArrayList class 从数组中删除元素。 Here's an example of how you can modify your code to delete "hotdog" from the array if it appears:下面是一个示例,说明如何修改代码以从数组中删除出现的“hotdog”:

import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;

class Main {
  public static void main(String[] args)  {
    Scanner input =new Scanner(System.in);
    System.out.println ("Enter num of food: ");
    int n = input.nextInt();
    
    while (n>10){
      System.out.println("Wrog");
      n = input.nextInt();
    }

    ArrayList<String> name = new ArrayList<String>();
    System.out.println ("Enter food name: "); 

    for (int i=0;i<n;i++){
      String inp = input.next();
      if(inp.equalsIgnoreCase("hotdog")){
        System.out.println ("Not valid"); 
      } else{
        name.add(inp);
      }
    }
    for (int i=0;i<name.size();i++){
      System.out.println(name.get(i));
    }
  }
}

In this code, instead of using an array to store the names, I am using an ArrayList. The ArrayList has a built-in method called "remove" that can be used to delete elements from the list.在这段代码中,我没有使用数组来存储名称,而是使用了 ArrayList。ArrayList 有一个名为“remove”的内置方法,可用于从列表中删除元素。

Also, I have removed the array length since ArrayList handles the size dynamically.另外,我删除了数组长度,因为 ArrayList 动态处理大小。

NOTE: Code is not tested.注意:代码未经测试。 Your question wasn't 100% clear to me.你的问题对我来说不是 100% 清楚。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM