用java求两个很大的数字之和,提示用String类模拟,不考虑带符号运算。。。。。

求达人们帮帮忙啊,我是只小白,刚刚接触java,最好给出完整的代码,谢了,泪奔。。。。。

不管你2个数字有多大都可以运算,检查是不是数字你自己来做吧

public class Test04 {

public static void main(String[] args) {
String a = "435743987584932470329843984793875943875983759847598745";
String b = "43579438759843759843759843759843759843759843759843759437594375984375934875943759843";
System.out.println(add(a, b));
}

public static String add(String a, String b) {
int length = a.length() > b.length() ? a.length() : b.length();
String result = "";
boolean isIn = false;
for(int i = 0; i < length; i++) {
int x = 0;
int y = 0;
if(i < a.length()) {
x = Integer.parseInt(String.valueOf(a.charAt(a.length() - 1 - i)));
}
if(i < b.length()) {
y = Integer.parseInt(String.valueOf(b.charAt(b.length() - 1 - i)));
}
int r = x + y;
if(isIn) {
r++;
}
if(r > 10) {
isIn = true;
r -= 10;
} else {
isIn = false;
}
result = r + result;
if(i == length - 1 && isIn == true) {
result = 1 + result;
}
}
return result;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-27
用String类模拟?这不吃饱撑的……
用BigDecimal或者BigInteger不就行了追问

说了是刚刚接触java的,老师要求必须String类模拟的,你也是个水货吧,只会用别人写好的东西。。。。

追答

唉 你这样孩子可咋整。自己水平差还说别人是水货,最看不上你这样的了。
能写出来也不告诉你 一边儿玩蛋去吧

追问

我也鄙视你这样的理论家,你回去打灰机吧。。。。

追答

哈哈 不会还这么狂。越狂越啥也不是,越狂越不会……

第2个回答  2011-06-27
java的大数运算吧,需要用到下面的类和大数运算的方法
BigInteger resultBig = new BigInteger(num1).mod(new BigInteger(num2));

编写一个java程序,通过键盘输入两个整数,求两数的和的程序。
通过键盘输入两个整数,求两数的和的Java程序如下图所示:编写Java程序时,应注意以下几点:大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass。方法...

JAVA,计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常
public class Throwdemo { public static void main(String args[]){ Scanner scan = new Scanner(System.in);System.out.print("请输入一个整数:"); \/\/分别输入两个加数 int a = scan.nextInt();System.out.print("请输入另外一个整数:");int b = scan.nextInt();int sum = a +...

用Java编程来实现两数的和、差、积、商、求余等运算。 提示:在一个程...
java.util.Scanner scan = new java.util.Scanner(System.in);System.out.println("请输入一个数字:"); \/\/提示输入一个数 int num = scan.nextInt(); \/\/ 从键盘接收一个整数 long lon = scan.nextLong();\/\/ 从键盘接收一个长整数 float fla = scan.nextFloat(); \/\/ 从键盘接收一...

java语言计算9,99,999,9999,...9999999999的和
数列里面最大的数是9999999999,所以要有一个最大限制long max = 9999999999L;再用一个变量存储总和long sum = 0;所以代码为 public class Test {public static void main(String[] args) {long max = 9999999999L;long sum = 0;long num = 10;while (num-1 <= max) {sum += (num - 1...

用JAVA编写一个方法并调用它,求取两个整数中的较大者
class a{ public void main static(args[] string){ a aa=new a();a.max(10,20);\/\/...输出 } public int max(int x,int y){ \/\/...判断 } }

java编写一个计算机类,实现两个整数的加,减,乘,除运算,怎么实现
int sub(int a,int b){return a-b;} int mul(int a,int b){return a*b;} double div(int a,int b){return double(a)\/double(b);} public static void main(String args[]){ Computer cm=new Computer();int a=100,b=35;System.out.println("a+b="+cm.add(a,b));System....

用JAVA语言输入2个正整数 a 和 n,求 a aa aaa aa…a(n个a)之和.例如...
out.println("请输入a:");int a = sc.nextInt();int b = a;System.out.println("请输入n:");int n = sc.nextInt();int sum = 0;for (int i = 0; i < n; i++) { System.out.println(a);sum += a;a = a * 10 + b;} System.out.println("sum = " + sum);...

用java做前两个数字和等于后一个数1,1,,2,3,5,8,13、……打印前40项数 ...
public class Fbi{public static void main(String[] args){for(int i=1;i<=10;i++){System.out.print(getFbi(i)+" ");}}private static int getFbi(int n){if(n==1){return 1;}else if(n==2){return 2;}else{return getFbi(n-2)+getFbi(n-1);}}} 2 tatic void ...

[JAVA]从键盘输入一个任意整数,求各位数字之和。
public static void main(String[] args) { try{ System.out.println("请输入数字:");Scanner sc=new Scanner(System.in);long l=sc.nextLong();System.out.println("输入数字的各位数之和为"+sumDigits(l));}catch(Exception e){ System.out.println("您输入的不是数字!");} } } 运行...

用java语言输出一个整数的各位之和 求代码 各位大佬
import java.util.Scanner;public class Test { public static void main (String[] args){ int s=0;Scanner sc=new Scanner(System.in);long n;System.out.print("请输入一个整数:");n=sc.nextLong();n=n>0 ? n : -n;while(n>0){ s+=n%10;n\/=10;} System.out.println(s);s...

相似回答