显示为数字的链接字符列表

时间:2013-04-18 17:40:29

标签: java

所以我试图创建一个链接的字符列表,首先我要指出我们不允许在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();


        }
    }

3 个答案:

答案 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