我正在构建一个 java 函数,它接受一个 2D 数组并返回一个 2D 数组。该函数从输入函数中过滤一些元素。在本例中,它是一个字符串数组,它会过滤第二个元素为 0 的元素。例如: 如果我有数组
{{"one", "0.0"}, {"two", "2.4"}, {"three", "0.0"}, {"four", "2.3"}}
然后我会得到
{{"two","2.4"},{"four","2.3"}}
我有这个,但它不起作用
public String[][] getArrayNoZero(String[][]s){
String [] result;
for(int i=0; i<s.length; i++){
if(float(s[i][1])>0){
String []tempArray= {s[i][0],s[i][1]};
result.append(tempArray);
}
}
return result;
}
谢谢
最佳答案
您尝试输入强制类型转换的方式无效。使用Float.parseFloat方法将字符串转换为 float 或使用Equals方法比较字符串。
public String[][] getArrayNoZero(String[][]s)
{
java.util.List<String[]> result=new java.util.ArrayList<String[]>();
for(int i=0; i<s.length; i++)
{
if(!s[i][1].equals("0.0"))
{
String []tempArray= {s[i][0],s[i][1]};
result.add(tempArray);
}
}
return result.toArray(new String[0][0]);
}
关于java - 在java中删除二维数组中的一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085966/