exhaustive a char dictionary
系統
2000 0
May? 18,2007:
May? 18,2007:
??????? There is a sample of exhaustive a char dictionary.
import
?java.util.regex.Matcher;
import
?java.util.regex.Pattern;
import
?java.util.
*
;
public
?
class
?Test
...
{
????
public
?
static
?
void
?main(String?args[])
...
{
????????
new
?Test();
????}
????
????String[]?chars?
=
?
...
{
"
a
"
,
"
b
"
,
"
c
"
}
;????????
//
This?string?array?is?use?to?stored?char?dictionary.
????String?patternStr
=
?
"
[a-z][a-z][a-z]
"
;??
//
Defined?regularexpression?to?match?traverse/ergod?result
????String?output?
=
?
""
;
????Set?set?
=
?
new
?TreeSet();???????????????
//
Set?store?distinct?record?into?is?reason?for/why?defined?a?tree?set?rather?then?array?list.
????Pattern?pattern?
=
?Pattern.compile(patternStr);
????
????
????
public
?Test()
...
{
????????
int
?j
=
?chars.length;
????????
????????
????????search(
0
,chars,output);
????????
????????
for
(Iterator?it?
=
?set.iterator();it.hasNext();)
...
{
????????????System.out.println(it.next());
????????}
????}
????
public
?
void
?search(
int
?i,String[]?chs,String?output)
...
{
????????
if
(i
==
chars.length)
...
{
????????????Matcher?matcher?
=
?pattern.matcher(output);
????????????
if
(matcher.matches())
...
{
????????????????set.add(output);
????????????}
????????????
return
;
????????}
????????
for
(
int
?j?
=
0
;?j
<
chars.length;j
++
)
...
{?????????????????
//
ergod?the?char?dictionary
????????????output?
=
?output
+
chs[j];
????????????search(i
+
1
,chs,output);
????????????output?
=
?output.substring(
0
,output.length()
-
1
);
????????????search(i
+
1
,chs,output);
????????}
????}
}
import
?java.util.regex.Matcher;
import
?java.util.regex.Pattern;
import
?java.util.
*
;
public
?
class
?Test
...
{
????
public
?
static
?
void
?main(String?args[])
...
{
????????
new
?Test();
????}
????
????String[]?chars?
=
?
...
{
"
a
"
,
"
b
"
,
"
c
"
}
;????????
//
This?string?array?is?use?to?stored?char?dictionary.
????String?patternStr
=
?
"
[a-z][a-z][a-z]
"
;??
//
Defined?regularexpression?to?match?traverse/ergod?result
????String?output?
=
?
""
;
????Set?set?
=
?
new
?TreeSet();???????????????
//
Set?store?distinct?record?into?is?reason?for/why?defined?a?tree?set?rather?then?array?list.
????Pattern?pattern?
=
?Pattern.compile(patternStr);
????
????
????
public
?Test()
...
{
????????
int
?j
=
?chars.length;
????????
????????
????????search(
0
,chars,output);
????????
????????
for
(Iterator?it?
=
?set.iterator();it.hasNext();)
...
{
????????????System.out.println(it.next());
????????}
????}
????
public
?
void
?search(
int
?i,String[]?chs,String?output)
...
{
????????
if
(i
==
chars.length)
...
{
????????????Matcher?matcher?
=
?pattern.matcher(output);
????????????
if
(matcher.matches())
...
{
????????????????set.add(output);
????????????}
????????????
return
;
????????}
????????
for
(
int
?j?
=
0
;?j
<
chars.length;j
++
)
...
{?????????????????
//
ergod?the?char?dictionary
????????????output?
=
?output
+
chs[j];
????????????search(i
+
1
,chs,output);
????????????output?
=
?output.substring(
0
,output.length()
-
1
);
????????????search(i
+
1
,chs,output);
????????}
????}
}
?
exhaustive a char dictionary
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元