我的一种做法,感觉麻烦,不知道那位大侠有高见??????
public class TestZH
{
public TestZH()
{
}
public java.util.ArrayList getZH(String a) throws Exception
{
java.util.ArrayList resultList = null;
java.util.ArrayList newList = new java.util.ArrayList();
for (int i = 0; i < a.length(); i++)
{
newList = getPP(a.charAt(i));
if (newList == null)
{
throw new Exception("取数出错!");
}
if (i == 0)
resultList = newList;
else
resultList = getLL(newList, resultList);
}
return resultList;
}
public java.util.ArrayList getPP(char c)
{
java.util.ArrayList resultList = new java.util.ArrayList();
if (c == 'a')
{
resultList.add("1");
resultList.add("2");
resultList.add("3");
}
if (c == 'b')
{
resultList.add("3");
resultList.add("6");
resultList.add("5");
}
if (c == 'c')
{
resultList.add("7");
resultList.add("6");
}
if (c == 'd')
{
resultList.add("8");
resultList.add("2");
}
if (c == 'e')
{
resultList.add("9");
}
return resultList;
}
public java.util.ArrayList getLL(java.util.ArrayList newList,
java.util.ArrayList oldList)
{
java.util.ArrayList resultList = new java.util.ArrayList();
String temp1, temp2;
for (int x = 0; x < oldList.size(); x++)
{
for (int y = 0; y < newList.size(); y++)
{
temp1 = (String) oldList.get(x);
temp2 = (String) newList.get(y);
resultList.add(temp1 + temp2);
}
}
return resultList;
}
public static void main(String args[])
{
TestZH tz = new TestZH();
java.util.ArrayList hzList = new java.util.ArrayList();
java.util.ArrayList pyList;
try
{
pyList = tz.getZH("abc");
for (int i = 0; i < pyList.size(); i++)
{
System.out.println( (i + 1) + ":" + (String) pyList.get(i));
}
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}
}