Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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_String - Fatal编程技术网

如何在java中忽略/删除数组的值

如何在java中忽略/删除数组的值,java,string,Java,String,我有一个单词列表,有4个单词,不能超过4个,这只是一个例子。我只想使用其中的两个单词,其余的应该忽略或删除,例如: String planets = "Moon,Sun,Jupiter,Mars"; String[] planetsArray = planets.split(","); int numberOfPlanets = planetsArray.length; 我得到的结果是4。如果我的列表包含超过2个单词,我如何删除其余的单词 用于从字符串[]平面阵列获取字

我有一个单词列表,有4个单词,不能超过4个,这只是一个例子。我只想使用其中的两个单词,其余的应该忽略或删除,例如:

    String planets = "Moon,Sun,Jupiter,Mars";
    String[] planetsArray = planets.split(",");
    int numberOfPlanets = planetsArray.length;
我得到的结果是4。如果我的列表包含超过2个单词,我如何删除其余的单词

用于从
字符串[]平面阵列
获取
字符串
列表

String planets = "Moon,Sun,Jupiter,Mars";
String[] planetsArray = planets.split(",");
if(planetsArray .length > 2){
  String []newArr = new String[2];
  newArr[0]=planetsArray [0];
  newArr[1]=planetsArray [2];
  planetsArray = newArr ;
}
然后使用界面的方法-
包含
删除
添加
,…-只需在该
列表
,上执行所需操作,即可从
字符串[]平面阵列
获取
字符串
列表


然后使用界面的方法-
包含
删除
添加
,…-如果需要选择前两个行星,只需复制阵列即可:

String[] newPlanetsArray = Arrays.CopyOf(planetsArray, 2);
如果需要选择2个特定行星,可以应用以下算法:

首先,创建一个包含2个元素的新数组。然后,遍历原始数组中的元素,如果当前元素匹配,则将其添加到新数组中(跟踪新数组中的当前位置以添加下一个元素)

String[]newPlanetsArray=新字符串[2];
对于(int i=0,int j=0;i1)
打破
}
}

如果需要选择前两个行星,只需复制阵列即可:

String[] newPlanetsArray = Arrays.CopyOf(planetsArray, 2);
如果需要选择2个特定行星,可以应用以下算法:

首先,创建一个包含2个元素的新数组。然后,遍历原始数组中的元素,如果当前元素匹配,则将其添加到新数组中(跟踪新数组中的当前位置以添加下一个元素)

String[]newPlanetsArray=新字符串[2];
对于(int i=0,int j=0;i1)
打破
}
}
根据您的中的建议,您可以使用

String[] fewPlanets = new String[]{planets[0], planets[1]};
只需确保
planets
数组包含2个或更多元素,以避免出现错误。您可以使用
length
检查它:
如果(planets.length>=2)

对于更复杂的解决方案,如果您使用的是Java 1.5或更早版本,也可以使用

int numberOfElements = 2;
String[] fewPlanets = new String[2];
System.arraycopy(planets, 0, fewPlanets, 0, numberOfElements);
或者,如果您使用的是Java 1.6或更高版本:

int numberOfElements = 2;
String[] fewPlanets = Arrays.copyOf(planets, numberOfElements);
正如您的中所建议的,您可以使用

String[] fewPlanets = new String[]{planets[0], planets[1]};
只需确保
planets
数组包含2个或更多元素,以避免出现错误。您可以使用
length
检查它:
如果(planets.length>=2)

对于更复杂的解决方案,如果您使用的是Java 1.5或更早版本,也可以使用

int numberOfElements = 2;
String[] fewPlanets = new String[2];
System.arraycopy(planets, 0, fewPlanets, 0, numberOfElements);
或者,如果您使用的是Java 1.6或更高版本:

int numberOfElements = 2;
String[] fewPlanets = Arrays.copyOf(planets, numberOfElements);

您可以使用来自的想法,避免从逗号分隔的字符串输入中读取剩余值。只需找到第二个逗号和子字符串


(当然,如果您的代码片段只是一个示例,并且您没有逗号分隔的输入,那么请忽略此建议:)

您可以使用来自的想法,避免从逗号分隔的字符串输入中读取其余值。只需找到第二个逗号和子字符串


(当然,如果您的代码片段只是一个示例,并且您没有逗号分隔的输入,那么请忽略此建议:)

您在此处搜索过任何类似的问题吗?此搜索将提出几个您感兴趣的问题。你在这里搜索过类似的问题吗?此搜索将提出几个您感兴趣的问题。字符串行星=“月亮、太阳、木星、火星”;字符串[]planetsArray=planets.split(“,”);字符串[]fewPlanets=新字符串[]{planetsArray[0],planetsArray[1]};系统输出打印LN(fewPlanets);我试过这个,但如果我把它打印出来,我会得到一些奇怪的东西:[Ljava.lang.String;@67af7a
[Ljava.lang.String;@67af7a
就是
fewPlanets.toString()
正在返回。这是实例的非唯一标识符。如果要打印数组的内容,请迭代其元素并打印每个元素。类似于:
for(int i=0;iString plants=“Moon,Sun,Jupiter,Mars”;String[]planetsArray=plants.split(,”;String[]fewPlanets=new String[]{planetsArray[0],planetsArray[1]};System.out.println(fewPlanets);我尝试过这个,但是如果我打印出来,我会得到一些奇怪的东西:[Ljava.lang.String;@67af7a
[Ljava.lang.String;@67af7a
就是fewPlanets.toString()
正在返回。这是实例的非唯一标识符。如果要打印数组的内容,请迭代其元素并打印每个元素。类似于:
for(int i=0;iArrays.copyOf仅为Java 1.6及更高版本。Arrays.copyOf仅为Java 1.6及更高版本。