Rya*_*tts 2 java methods arraylist multidimensional-array anagram
在很多帮助下,我开发了一种制作字谜的方法,然后将它们添加到一个ArrayList.
public void f(String s, String anagram, ArrayList<String> array)
{
if(s.length() == 0)
{
array.add(anagram);
return;
}
for(int i = 0 ; i < s.length() ; i++)
{
char l = s.charAt(i);
anagram = anagram + l;
s = s.substring(0, i) + s.substring(i+l, s.length());
f(s,anagram,array);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试使用此函数ArrayList在循环中将s添加String到一个ArrayList到另一个时,我得到一个错误,说我不能使用void,并且该方法f()是无效的.
List<String> Lists = new ArrayList<String>(); //makes new array list
for(String List : words)
{ //takes values from old array list
List.trim();
Lists.add(f(List,"",new ArrayList<String>())); //this is where it doesn't work
}
Run Code Online (Sandbox Code Playgroud)
让我再一次澄清:我想用这个函数将ArrayListanagrams插入另一个中的每个位置ArrayList.anagram列表源自String从一个列表到另一个列表的s.我尝试将方法更改为静态,但这不起作用,我也删除return;了方法一次,但这也没有解决它.
我如何使这整件工作?
发生错误f()是因为该方法是void,意思是:它不返回任何可以添加到的值ArrayList.
调用的答案f()存储在ArrayList作为参数传递给f,你应该使用它 ArrayList来添加它的所有元素Lists.像这样的东西:
List<String> lists = new ArrayList<String>();
for (String list : words) {
list.trim();
ArrayList<String> answer = new ArrayList<String>();
f(list, "", answer);
lists.addAll(answer);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
291 次 |
| 最近记录: |