【发布时间】:2013-12-23 05:48:20
【问题描述】:
我有一个由四个字母组成的字母串,例如 ASDF,我想使用这些字母找到所有 3(三)个字母组合,并且三个字母组合不需要形成一个真实的单词。例如。
AAA AAS AAD AAF ADA ADS 添加 ADF ………………………………………………………………………… SSA SSD SSF SSS
我对 Java 比较陌生,刚刚学会了如何使用 String 类以及使用循环和条件语句。我知道如何做到这一点的唯一方法是通过大量且非常乏味的 for 循环和 if 语句来解释可能出现的每一种可能性。这看起来像:
public static void main(String[] args)
{
String combo = "";
for(int counter = 1; counter <= 16; counter++){
combo = "A";
if(counter == 1){
combo = combo + "AA";
}
// This would continue on for all the possibilities starting with "A" and
// then move on to "S" as the lead character
}
}
我知道这是解决这个问题的最糟糕的方法之一,但我真的不知道如何用另一种方法来解决这个问题。如果我有 3 个字母并进行 3 个字母组合会更容易,因为这样我就可以从数组中获取每个字母并重新排列它们,但是由于我只使用 4 个字母中的 3 个,所以更加困难。 关于如何以更有效的方式完成此任务的任何建议?
【问题讨论】:
-
欢迎来到 Stack Overflow!第一个问题好。 +1
标签: java string combinations nested-loops conditional-statements