所以我试图创建一个链接的字符列表,首先我要指出我们不允许在java中使用内置的链接列表方法。当我添加字符然后尝试显示它们时,它只是给我一个数字列表。为什么会这样?
class Node{
int data;
Node next;
public Node(Character x){
data = x; next = null;
}
public Node next(){return next;}
public void setNext(Node p){
next = p;
}
public void set(Character x){data = x;}
public int data(){return data;}
}
class Reader{
Node head = null;//empty list
public void add(Character x){ //add at head
Node nw = new Node(x);
nw.setNext(head);
head = nw;
}
public void display(){
Node k = head;
System.out.print('[');
while(k!=null){
if(k.next!=null)
System.out.print(k.data()+",");
else
System.out.print(k.data());
k=k.next();
}
System.out.print(']');
}
}
class assignment9{
public static void main(String[]args){
Reader r1 = new Reader();
r1.add('r');
r1.add('e');
r1.add('l');
r1.add('l');
r1.add('o');
r1.display();
}
}
答案 0 :(得分:1)
在Node中,如果您希望将数据表示为char,请不要将数据存储为int。 int是数字类型,char是字符类型。
答案 1 :(得分:0)
您正在打算调用数据()。如果您希望将其表示为Character,请确保数据的类型为Character。
答案 2 :(得分:0)
刚刚转为char
System.out.print((char)k.data()+",");
和
System.out.print((char)k.data());
您可以在此处使用int
,但最好为您的案例中的每个变量使用最合适的类型char