java单链表实现加法
时间: 2024-01-15 09:47:11 浏览: 31
很高兴为您解答问题。对于您的问题,我可以给出以下代码:
```java
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummyHead = new ListNode(0);
ListNode p = l1, q = l2, curr = dummyHead;
int carry = 0;
while (p != null || q != null) {
int x = (p != null) ? p.val : 0;
int y = (q != null) ? q.val : 0;
int sum = carry + x + y;
carry = sum / 10;
curr.next = new ListNode(sum % 10);
curr = curr.next;
if (p != null) p = p.next;
if (q != null) q = q.next;
}
if (carry > 0) {
curr.next = new ListNode(carry);
}
return dummyHead.next;
}
```
这是一个使用单链表实现加法的 Java 函数。传入这个函数的参数是两个单链表(里面的数据是数字),返回值是它们相加的结果。
相关问题
java实现BigInteger加法
可用以下代码实现BigInteger加法:
```java
import java.math.BigInteger;
public class BigIntegerAddition {
public static void main(String[] args) {
BigInteger num1 = new BigInteger("12345678901234567890");
BigInteger num2 = new BigInteger("98765432109876543210");
BigInteger sum = num1.add(num2);
System.out.println(sum);
}
}
```
在这个示例中,我们创建了两个BigInteger对象`num1`和`num2`,并将它们的值设定为`12345678901234567890`和`98765432109876543210`。我们使用add()方法对这两个数字进行相加,并将结果存储在一个新的BigInteger对象`sum`中。最终,我们使用println()方法将和打印到控制台上。
需要注意的是,BigInteger类是不可变的,这意味着我们不能直接改变数字的值。在进行加法运算时,我们将得到一个新的BigInteger实例,该实例包含了相加后的值。
用java实现简易加法计算器
好的,以下是用 Java 实现简易加法计算器的代码:
```java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个加数:");
int num1 = input.nextInt();
System.out.print("请输入第二个加数:");
int num2 = input.nextInt();
int result = num1 + num2;
System.out.println("计算结果是:" + result);
}
}
```
运行该程序,会提示用户输入两个加数,然后将两个加数相加并输出结果。