gpt4 book ai didi

java - 如何对用户输入的字符串进行分组

转载 作者:太空狗 更新时间:2023-10-29 13:49:46 26 4
gpt4 key购买 nike

我是 Java 编程的新手。我的问题是我想将用户输入字符串从 EditText 拆分为 2、3、4、5 和 6 组。

例如,输入可能看起来像:“ table 上的闹钟很吵”

我想像这样对它们进行分组。

By 2:(闹钟)(闹钟)(打卡)(在)( table )( table 是)(吵)

By 3:(闹钟)(闹钟在)(时钟在)(在表中)(表是)(表吵)

By 4:(闹钟在)(闹钟在)(闹钟在 table 上)( table 里是)( table 上吵闹)

同样适用于 5 和 6。之后我可能将它们存储在一个数组中。

我只知道如何通过空格或其他分隔符拆分字符串。到目前为止,这是我的代码:

String[] text = editText.split(" ");
Log.d("Length", String.valueOf(text.length));
for (int i = 0; i < text.length; i++) {
count = i;
text[i] = text[i].trim();
Log.d("Create Response", text[i]);
params.add(new BasicNameValuePair("translate_me", text[i]));
}

但是我一点也不知道该怎么做。有人可以帮助我吗?

最佳答案

String[] text = editText.getText().toString().split(" ");
List<String> wordList = new ArrayList<String>(Arrays.asList(text));

List<String> groups = new ArrayList<String>();
getGroups(3, wordList);

public static void getGroups(int n, List<String> wordList) {

String temp = "";

if (wordList.size() <= n) {
for (String s : wordList)
temp = temp + s + " ";
groups.add(temp.trim());
return;
}

for (int i = 0; i < n; i++)
temp = temp + wordList.get(i) + " ";

groups.add(temp);
wordList.remove(0);
getGroups(n, wordList);
}

您需要一个像getGroups 这样的递归函数。您将在 groups 列表中找到结果。我已经检查了该功能并发现它可以正常工作。

这是我用于测试的类。您也可以使用以下类来测试结果。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {

public static List<String> groups = new ArrayList<String>();
public static String text = "the alarm clock in the table is noisy";

public static void main(String[] args) {
List<String> wordList = new ArrayList<String>(Arrays.asList(text.split(" ")));
getGroups(3, wordList);

System.out.println(groups);
}

public static void getGroups(int n, List<String> wordList) {

String temp = "";

if (wordList.size() <= n) {
for (String s : wordList)
temp = temp + s + " ";
groups.add(temp.trim());
return;
}

for (int i = 0; i < n; i++)
temp = temp + wordList.get(i) + " ";

groups.add(temp.trim());
wordList.remove(0);
getGroups(n, wordList);
}
}

关于java - 如何对用户输入的字符串进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49657840/

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