㈠ 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