公共課考試{
/**
* @param args
*/
公共靜態void main(String[] args) {
// TODO自動生成的方法存根
//沒有特殊要求,從A到z。
//show(3);
//特殊要求,從value1到value2,不支持跨類型遍歷,如1到a,a到z。
show(2,“Z”,“A”);
}
/**
*打印遍歷結果
*
* @param長度
*遍歷的字符串長度
* */
公共靜態空顯示(int length ){
show(長度,“a”,“z”);
}
/**
*打印遍歷結果,暫時只支持從a到z,從a到z,從0到9。
*
* @param長度
*遍歷的字符串長度
* */
公共靜態void show(int length、String begin、String end ){
if(長度& lt= 0) {
System.out.println(“處理時間:0“);
返回;
}
if(begin . hashcode()-end . hashcode()& gt;0) {
字符串a = begin
開始=結束;
end = a;
}
boolean isInt = true
嘗試{
integer . parse int(begin);
嘗試{
integer . parse int(end);
} catch(例外情況){
System.out.println(“暫時只支持從a到z、從a到z和從0到9的遍歷”);
返回;
}
} catch(例外情況){
isInt = false
}
如果(!isInt ){
如果(!(begin . hashcode()& gt;= 65 & amp& ampend . hashcode()& lt;= 90)
& amp& amp!(begin . hashcode()& gt;= 97 & amp& ampend . hashcode()& lt;= 122)) {
System.out.println(“暫時只支持從a到z、從a到z和從0到9的遍歷”);
返回;
}
if(math . ABS(begin . hashcode()-end . hashcode())& gt;25) {
System.out.println(“暫時只支持從a到z、從a到z和從0到9的遍歷”);
返回;
}
}
long d1 =新日期()。getTime();
int a =(int)math . pow(end . hashcode()-begin . hashcode()+1,length);
字符串b = begin
while(b . length()& lt;長度){
b+ = begin;
}
while(a & gt;0) {
system . out . println(b);
b = get next value(b,begin,end)+““;
a-;
}
long d2 =新日期()。getTime();
System.out.println(“數量:“
+(int)math . pow(end . hashcode()-begin . hashcode()+1,length)
+“\ t處理時間:“+(D2-d 1);
}
/**
*獲取傳入對象的下壹個值。
*
* @param a
*操作對象
* */
公共靜態字符串getNextValue(對象a,字符串開頭,字符串結尾){
string b = a+“;
if(b . length()= = 1 ){
if(b . equals(end))
return begin+begin;
else if(b .等於(“9“))
返回“10”;
else if(b . equals(`“)。
返回“aa”;
其他
return string . value of((char)(b . hashcode()+1));
}否則{
if(b . substring(b . length()-1)。等於(結束))
返回get next value(b . substring(0,b . length()-1),begin,end)
+開始;
else if(b . substring(b . length()-1)。等於(“9“)
返回get next value(b . substring(0,b . length()-1),begin,end)
+ "0";
else if(b . substring(b . length()-1)。等於(“`“)
返回get next value(b . substring(0,b . length()-1),begin,end)
+“a”;
其他
返回b . substring(0,b . length()-1)
+string . value of((char)(b . substring(b . length()-1)
。hashCode()+1));
}
}
}
它可能與您要求的方法不同,但結果應該是正確的。