Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/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
String 筛选字符串以在java中显示ArrayList中的三个字母_String_Arraylist_Filter_Substring_String Length - Fatal编程技术网

String 筛选字符串以在java中显示ArrayList中的三个字母

String 筛选字符串以在java中显示ArrayList中的三个字母,string,arraylist,filter,substring,string-length,String,Arraylist,Filter,Substring,String Length,我实现了方法过滤器,它返回列表中长度大于3的所有字符串的子列表。在添加了三个示例数据之后,我在main函数中调用了filter()——Hello Sam Washington。输出应为Hel Sam Was。建议 import java.util.ArrayList; public class practice { private ArrayList<String> list = new ArrayList<String>(); public Arra

我实现了方法过滤器,它返回列表中长度大于3的所有字符串的子列表。在添加了三个示例数据之后,我在main函数中调用了filter()——Hello Sam Washington。输出应为Hel Sam Was。建议

import java.util.ArrayList;

public class practice {
    private ArrayList<String> list = new ArrayList<String>();

    public ArrayList<String> filter() {
        for(int i=0; i<list.size(); i++) {
            if(list.get(i).length() > 3)
                list.set(i, list.get(i).substring(0, 3));
        }
        return list;
    }

    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<String>();

        list1.add("Hello");
        list1.add("Sam");
        list1.add("Washington");

        filter();

        for(int i=0; i<list1.size(); i++)
            System.out.println(list1.get(i));
    }
}
import java.util.ArrayList;
公共课堂实践{
private ArrayList list=new ArrayList();
公共ArrayList筛选器(){
对于(int i=0;i 3)
list.set(i,list.get(i).substring(0,3));
}
退货清单;
}
公共静态void main(字符串[]args){
ArrayList list1=新的ArrayList();
列表1.添加(“你好”);
清单1.添加(“Sam”);
清单1.添加(“华盛顿”);
过滤器();

对于(int i=0;i您正在从
filter
返回
list
,而不使用返回的值,或者实际传入
list1
。您可以将项目添加到
list
,也可以像这样重做您的方法:

public ArrayList<String> filter(ArrayList<String> toFilter) {
    for(int i=0; i<toFilter.size(); i++) {
        if(toFilter.get(i).length() > 3)
            toFilter.set(i, toFilter.get(i).substring(0, 3));
    }
    return toFilter;
}
公共ArrayList过滤器(ArrayList-toFilter){
对于(int i=0;i 3)
toFilter.set(i,toFilter.get(i).substring(0,3));
}
返回过滤器;
}

然后将行
filter();
更改为
list1=filter();
,这样您就可以捕获筛选的结果。

您并不是在实例化课堂练习。您应该这样做,然后填写它的
列表
列表,然后调用filter。我只是在这里为您粘贴主要方法

Practice practice = new Practice();
practice.list.add("Hello");
practice.list.add("Sam");
practice.list.add("Washington");

practice.filter();

for(int i=0; i<practice.list.size(); i++)
    System.out.println(practice.list.get(i));
实践=新实践();
练习。列表。添加(“你好”);
实践。列表。添加(“Sam”);
实践。列表。添加(“华盛顿”);
练习过滤器();
对于(int i=0;i