0
У меня возник вопрос о том, как печатать длинное значение с помощью метода toString.Печать Длинные значения с toString в Java
Мой код:
public class LinkedLargeInteger {
private class Node {
private int data;
private long dat;
private Node next;
private Node(int data, Node next) {
this.data = data;
this.next = next;
}
private Node(int data) {
this(data, null);
}
private Node() {
data = 0;
next = null;
}
private Node(long dat, Node next) {
this.dat = dat;
this.next = next;
}
private Node(long dat) {
this(dat, null);
}
}
private Node head;
private Node tail;
private int size;
private String largeString;
private int largeInt;
private long largeLong;
public LinkedLargeInteger(long largeLong) {
String s = Long.toString(largeLong);
head = new Node();
tail = head;
size = 0;
for (int i = 0; i < s.length(); i++) {
tail.next = new Node(Long.parseLong(s), null);
tail = tail.next;
size++;
}
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
Node current = head.next;
for (int i = 0; i < this.size; i++) {
builder.append(i + 1);
current = current.next;
}
return builder.toString();
}
public static void main(String[] args) {
LinkedLargeInteger numLong = new LinkedLargeInteger(100000000000L);
System.out.println(numLong);
}
}
Я реализовал связанный список с моим классом Node и хочу напечатать длинное значение с моим конструктором. Когда я печатаю длинное значение в основном, это дает мне совсем другое число, чем то, что я ввел в качестве аргумента. Кто-нибудь знает, в чем моя проблема?
В настоящее время ваш 'метод toString' вернет все числа от 1 до размера-1 (т.е.' 123 .. .size-1 '). Если вы хотите добавить содержимое узлов, используйте 'builder.append (current.data);' –
, потому что у него есть toString? – njzk2
все ваши узлы имеют одинаковое значение. – njzk2