gpt4 book ai didi

java - 在读取 ArrayList 的同时打印 ArrayList 以获取打印条件

转载 作者:行者123 更新时间:2023-11-29 07:59:24 24 4
gpt4 key购买 nike

我有两个 ArrayList<String>秒。一个包含带标点符号和大写的单词,另一个已删除这些。

list 1:

File word: it's
File word: Sit
File word: yes-man
File word: murdered
File word: ok
File word: DereDrum
File word: Hello
File word: Friend

list 2:

Edited word: its
Edited word: sit
Edited word: yesman
Edited word: murdered
Edited word: ok
Edited word: deredrum
Edited word: hello
Edited word: friend

我们的想法是检查并查看哪些单词是彼此的变位词。如果是的话,我只想重印它们,但在同一行中使用字谜拼写的单词:

it's Sit

yes-man

murdered DereDrum

ok

hello

friend

我试着这样做:

        for (int i = 0; i < words.size(); i++)
{
System.out.print(words.get(i));
for (int j = i+1; j < grams.size(); j++)
{
anagramChecker(grams.get(i),"",grams.get(j),words.get(j));
}
System.out.println();
}

我的想法是这个 for 循环持续 List1(words) 的大小并打印它正在查看的单词。然后我使用我的 anagramChecker:

public static void anagramChecker(String s1,String s2,String checked,String word)
{
if(s1.length() == 0)
{
if(s2.equals(checked))
{
System.out.println(" " + word);
return;
}
}
for(int i = 0 ; i < s1.length() ; i++)
{
anagramChecker(s1.substring(0, i) + s1.substring(i+1, s1.length()),s2 + s1.charAt(i),checked,word);
}
}

这个方法没有用,它的输出是这样的:

it's
Sit yes-man
yes-man
yes-man
yes-man
yes-man
yes-man
yes-man
yes-man

yes-man
murdered
ok
DereDrum Hello

Hello
Friend

我尝试使用 map ,以便在单词本身在第二个列表中按字母顺序排序后,我可以按字母顺序对单词进行排序。这具有大致相同的输出。

最佳答案

重新使用 here 中的变位词逻辑.

public boolean areAnagrams(String s1, String s2) {
//TODO : Strip punctuations from s1 and s2
char[] ch1 = s1.toCharArray();
char[] ch2 = s2.toCharArray();
Arrays.sort(ch1);
Arrays.sort(ch2);
return Arrays.equals(ch1,ch2);
}

遍历两个列表并检查 areAnagrams 是否为真,然后打印出来。

for (int i=0;i<size;i++) {  
String first = firstList.get(i);
String second = secondList.get(i);
if (areAnagrams (first, second) {
System.out.println(first + " " + second);
}
}

关于java - 在读取 ArrayList 的同时打印 ArrayList 以获取打印条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com