Java 返回用于删除单词最后一部分的多个值
在我的代码中,fromright方法检查last[]的长度,并且只返回一个字符串。我想返回所有匹配的值。解决办法是什么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);
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;