㈠ java實現,從a,b,c,d,e,f,g,h,i...aa,ab,ac,...az,ba,bb,.,bz,..到zz,輸出指定數目比如輸出前87個
String az = "abcdefghijklmnopqrstuvwxyz";
ArrayList<String> al = new ArrayList<String>();
for(int j=0; j<az.length(); j++) al.add(az.substring(j,j+1));
for(int i=0; i<az.length(); i++){
for(int j=0; j<az.length(); j++) al.add(az.substring(i,i+1)+az.substring(j,j+1));
}
for(int j=0; j<87; j++) System.out.println(al.get(j));
運行結果:
a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci
㈡ JAVA編程中「兩個大整數求和」怎麼編寫
將大整數存入字元數組,按位相加。 給你寫一段偽代碼。
String a = "12389839843958394";
String b = "23445655234343";
char ac [] = a.toCharArray();
char bc [] = b.toCharArray();
這里要將數組ac 和bc 倒序排列,因為"123"轉換後為{'1','2','3'} 高位在前,倒序是為了低位在前。這部分代碼自己實現把。
char longc[];
char shortc[];
if (ac.length>=bc.length) {
longc=ac;
shortc=bc;
} else {
longc=bc;
shortc=ac;
}
下面做一個for循環,按位相加乘以10的i次方。就像小學學的列豎式子一樣
int sum=0;
for (int i=longc.length;i<longc.length;i++) {
if (i<shortc.length) {
sum+=(longc[i]+shortc[i]-96)*Math.pow(10, i);
} else {
sum+=(longc[i]-48)*Math.pow(10, i);
}
}
其中字元相加的時候減48是將char 轉換成int