0

だから私は文字の連結リストを作成しようとしています。最初に指摘しておきたいのは、すでに 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();


        }
    }
4

3 に答える 3

1

ノード内で、データを char として表現したい場合は、データを int として保存しないでください。int は数値型、char は文字型です。

于 2013-04-18T17:41:39.367 に答える
0

data() への呼び出しで int を出力しています。これを文字として表現する場合は、データが文字型であることを確認してください。

于 2013-04-18T17:42:17.120 に答える