您的位置:首页 > 编程语言 > Java开发

有一个很大很大的数,现有的类型无法表示,求其平方 Java实现

2013-04-02 10:57 113 查看
public class DaShu {

public static void main(String[] args) {

String num = "6";//首先将这个大数放到String类型对象中

System.out.println(pow2(num));

}

public static String pow2(String num) {

char[] ch = num.toCharArray();//将一个String类型转化为一个char类型的数组

int len = ch.length;

int[] in = new int[len];//创建一个与ch数组一样大的int型数组

for (int i = 0; i < len; i++) {

//Integer.parseInt(String s):将字符串参数作为有符号的十进制整数进行解析

//String.valueOf(char c):返回 char 参数的字符串表示形式

in[i] = Integer.parseInt(String.valueOf(ch[i]));//把char类型的数据转换为int类型存放到int型数组中

}

int[] result = new int[len * 2];

for (int i = len - 1; i >= 0; i--) {

for (int j = len - 1; j >= 0; j--) {

result[i + j + 1] += in[i] * in[j];

}

}

for (int i = result.length - 1; i >= 0; i--) {

if(result[i]>9){ //当有进位时

result[i-1] += result[i]/10;

result[i] %= 10;

}

}

String results = "";

boolean firstZero = true;

for(int i =0;i<result.length;i++){

if(firstZero && result[i] == 0){

}else{

results += String.valueOf(result[i]);

firstZero = false;

}

}

return results;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐