首页 > 解决方案 > 我的代码有问题,线程“main”中的异常?

问题描述

每当我尝试运行此代码时:

import java.util.Scanner;

public class KCFRodriguez2019101507 {

        Scanner sc = new Scanner(System.in);
        static String empName, position, status;
        static int empNo, salaryReg, salaryCon, year, deduction, netPay;
        static float deduct;
        
    @SuppressWarnings("null")
    public static void main(String[] args) {
        @SuppressWarnings({ "unused", "resource" })
        Scanner sc = new Scanner(System.in);
            String a = "Employee Name:";
            String b = "Status:";
            String c = "Position Title:";
            String d = "Employee Number:";
            String e = "Regular Salary:";
            String f = "Contractual Salary:";
            String g = "Year Hired";
            
            System.out.println(a);
            Scanner entry = null;
            empName = entry.nextLine();
            System.out.println(b);
            status = entry.nextLine();
            System.out.println(c);
            position = entry.nextLine();
            System.out.println(d);
            empNo = entry.nextInt();
            System.out.println(e);
            salaryReg = entry.nextInt();
            System.out.println(f);
            salaryCon = entry.nextInt();
            System.out.println(g);
            year = entry.nextInt();
            
    }
}

我收到一条错误消息,说“线程'main'中的异常”,所以我无法编译代码。我对java很陌生,所以我不知道如何解决这个问题。我正在尝试制作一个允许用户输入员工数据的程序。

错误代码:员工姓名:KCFRodriguez2019101507.main(KCFRodriguez2019101507.java:24) 的线程“主”java.lang.NullPointerException 中的异常

标签: java

解决方案


您正在输入 value null,而在 Java 中您不能null用来访问数据。更改此行:

Scanner entry = null;

对此:

Scanner entry = new Scanner(System.in);

顺便说一句,您定义了sc变量。删除这一行:

Scanner sc = new Scanner(System.in);

推荐阅读