Я хочу проверить свою программу и протестировать ее. Я просто конвертирую целые числа одного ListNode в String и объединяю эти преобразования. Например, если у меня есть:Почему код показывает только `1 2`?
ListNode object1;
object1 = new ListNode(2);
object1 = new ListNode(4);
object1 = new ListNode(3);
выход из addTwoNumbers() должен быть «243» (Цель метода отличается, я просто хочу, чтобы проверить его), но это дает мне «1 2» , И Eclipse также не будет запускать отладчик в этой программе и не знает, почему.
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
public String addTwoNumbers(ListNode l1, ListNode l2) {
String l1Digits = "";
String l2Digits = "";
while(l1 != null) {
l1Digits += Integer.toString(l1.val) + "";
l1 = l1.next;
}
while(l2 != null) {
l2Digits += Integer.toString(l2.val) + "";
l2 = l2.next;
}
return l1Digits;
}
class Tester {
public void main(String[] args) {
ListNode object1;
object1 = new ListNode(2);
object1 = new ListNode(4);
object1 = new ListNode(3);
ListNode object2;
object2 = new ListNode(5);
object2 = new ListNode(6);
object2 = new ListNode(4);
System.out.println(addTwoNumbers(object1, object2));
}
}
}
Что делать, если у меня есть большее число, как мне запустить цикл? @janos –
Все еще давая '1 2' даже после того, как вы изменили свое предложение, @janos –
Ваш оригинальный код печатает' 3'. После изменений я предложил напечатать '243'. – janos