Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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,在我的代码中,fromright方法检查last[]的长度,并且只返回一个字符串。我想返回所有匹配的值。解决办法是什么 public static String last[]={"es","e","s"}; public static void main(String[] args) { text tx=new text(); String checkString = "lives"; String fin=tx.fromright(checkString);

在我的代码中,fromright方法检查last[]的长度,并且只返回一个字符串。我想返回所有匹配的值。解决办法是什么

public static String last[]={"es","e","s"};

public static void main(String[] args) {
    text tx=new text();
    String checkString = "lives";
    String fin=tx.fromright(checkString);
    System.out.println("remaining:  "+fin);
}

public String fromright(String wrd) {
    String tmp="";
    for (int i = 0; i < last.length; i++) {
        tmp=wrd.substring(0, wrd.length()-last.length);
    }
    return tmp;
}

每次都在for循环中重写tmp变量。所以你只能得到一个结果。 改用这个或smth。可容纳多个值的类似程序

  public List<String> fromright(String wrd) {
            List<String> tmp= new ArrayList<String>();
            for (int i = 0; i < last.length; i++) {
                tmp.add(wrd.substring(0, wrd.length()-last.length));
            }
            return tmp;
换成

List<String> fin= new ArrayList<String>(tx.fromright(checkString));

每次都在for循环中重写tmp变量。所以你只能得到一个结果。 改用这个或smth。可容纳多个值的类似程序

  public List<String> fromright(String wrd) {
            List<String> tmp= new ArrayList<String>();
            for (int i = 0; i < last.length; i++) {
                tmp.add(wrd.substring(0, wrd.length()-last.length));
            }
            return tmp;
换成

List<String> fin= new ArrayList<String>(tx.fromright(checkString));

向我们展示一个您期望的示例输出。也许可以工作……但是如何工作?@bubletan这段代码到底应该做什么?例如输入:lives输出:liv,live@Brunaldo@MohammadString[]数组=新字符串[last.length];等等。给我们一个你期望的输出示例。也许这可以工作……但是如何工作?@bubletan这段代码到底应该做什么?例如输入:lives输出:liv,live@Brunaldo@MohammadString[]数组=新字符串[last.length];等等。@Mohammad你做了什么?用你的方法代替了我的方法method@MuratK.带有列表的每一行都显示错误:类型列表不是泛型,它不能由参数化arguements@MuratK.@MCMSE您需要导入java.util.List并确保项目中没有其他名为List的类,因为此类名称不合适,可能会导致问题。@Mohammad您做了什么?用您的method@MuratK.带有列表的每一行都显示错误:类型列表不是泛型,它不能由参数化arguements@MuratK.@MCMSE您需要导入java.util.List并确保项目中没有其他名为List的类,因为此类名称不合适,可能会导致问题。
public List<String> fromright(String wrd) {
    List<String> result = new ArrayList<>();
    for (int i = 0; i < last.length; i++) {
        if(wrd.endsWith(last[i]))
           result.add(last[i]);
    }
    return result;