对于模糊的信息,我们深表歉意。这是我正在尝试的。我正在尝试创建一个方法,它接受我的对象LString并将整数参数转换为对象LString。这是使用链接列表。我有一个Node类来构造和初始化节点。这是我完成项目的最后一种方法。
然而,我很困惑如何去做。我一直在使用链表和节点创建一个字符串类。如何将此整数参数转换为我的LString对象类型?以下是我的LString类的一些与问题相关的部分:
public class LString{
private Node front ; //first val in list *******CHANGED
private Node back; //last val in list
private int size = 0;
private int i;
private int offset;
public LString(){
//construct empty list
Node LString = new Node();
front = null;
}
//return value of specified index
public char charAt(int index){
Node current = front;
for(int i = 0; 0 < index; i++){
current = current.next;
}
return current.data;
}
//return number of chars of lstring
public int length(){
int count = 0;
Node current = front;
while(current != null){
current = current.next;
count++;
}
return count++;
}
public String toString(){
if(front == null){
return "[]";
} else {
String result = "[" + front.data;
Node current = front.next;
while(current != null){
result += current.data; //might need to add ", page 967
current = current.next;
}
result += "]";
return result;
}
}
// * *** 我的尝试虽然非常错误 *
public static LString valueOf(int i){
int c;
char m;
LString ans = new LString();
Node current = new Node();
// convert the String to int
for(int w = i;w < i; w++) {
c = i % 10;
i = i / 10;
m = (char) ('0' + c);
}
return ans;
}
我的节点类:
public class Node{
public char data;
public Node next;
//constructors from page 956
public Node()
{
this('\0',null); //'\0' is null char for java
}
public Node(char initialData, Node initialNext)
{
data = initialData;
next = initialNext;
}
public void addNodeAfter(char element)
{
next = new Node(element, next);
}
public char getData()
{
return data;
}
public Node getNext(){
return next;
}
public void setNext(Node n){
next = n;
}
public void setData(char d){
data = d;
}
}
答案 0 :(得分:2)
你不能创建LinkedList<int>
因为泛型类型不能是原语,但是说过,很容易将Integers添加到LinkedList而不需要将它们“转换”为String。
即使用LinkedList<Integer>
。
否则,如果这不能解答您的问题,请告诉我们更多有关实际问题的信息,而不是您提出的代码解决方案。我怀疑你的问题实际上是伪装XY-problem。
答案 1 :(得分:1)
你可以使用迭代来做到这一点
然后使用Integer.toString
方法将每个元素从Integer转换为String。
LinkedList<String> strings = new LinkedList<String>();
for(LinkedList<Integer> item : integers ){
strings.add(Integer.toString(item));
}
这对你有用。