蒙子若 2021-03-30 20:55 采纳率: 0%
浏览 49
已结题

Java中的链表结构

我自己用数据结构C语言的语法构建了一个链表结构,采用尾插法,大佬们问一下,为什么一直有空指针错误呀

import java.util.Scanner;

public class lian {
    public String name;
    public int age;
    public lian next;

    public lian create()throws NullPointerException{
        lian h=null;
        lian tail=null;
        lian head=tail= null;
        System.out.println("请输入节点元素,当节点年龄为#时结束");
        Scanner s=new Scanner(System.in);
        String name=s.next();int age=s.nextInt();
        while(name!="#"){
            h=null;
            h.name=name;h.age=age;
            tail.next=h;
            tail=h; }
        return head; }}
    class wish{
        public static void main(String[] args) {
            lian l1=null;
            l1=new lian().create();
    System.out.println("创建后的链表为");
    while(l1!=null){
        System.out.println("姓名为"+l1.name+"年龄为"+ l1.age);
        l1=l1.next;
    }

        }
    }
  • 写回答

4条回答 默认 最新

  • CSDN专家-三岁丫 2021-03-30 21:07
    关注

    抛异常是因为 

      public lian create() throws NullPointerException {
        lian h = null;
        lian tail = null;
        lian head = tail = null;
        System.out.println("请输入节点元素,当节点年龄为#时结束");
        Scanner s = new Scanner(System.in);
        String name = s.next();
        int age = s.nextInt();
        while (name != "#") {
          // 你的 h 没有初始化,所以 h.name,就报错了
          h.name = name;
          h.age = age;
          tail.next = h;
          tail = h;
        }
        return head;
      }
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月24日

悬赏问题

  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥100 解决数据不连续出现问题
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误