Error: java.lang.NullPointerException at runtime不断收到错误消息Error: java.lang.NullPointerException at runtime 显然,我理解这显示了当我引用某个具有空值的变量时,它应该具有某些值。 最好考虑向您显示代码,以便将其放在上下文中。

public class MarathonAdmin
{
   private List<Runner> runners;


   /**
    * Constructor for objects of class MarathonAdmin
    */
   public MarathonAdmin()
   {
      // initialise instance variables
      List<Runner> runners = new ArrayList<>();
   }

    public void readInRunners()
   {
      String pathName = OUFileChooser.getFilename();
      File aFile = new File(pathName);
      Scanner bufferedScanner = null;

      try 
      {
         String runnerName;
         int runnerAge;
         String ageGroup;
         Scanner lineScanner;
         String currentLine;
         bufferedScanner = new Scanner(new BufferedReader(new FileReader(aFile)));
         while (bufferedScanner.hasNextLine())
         {
            currentLine = bufferedScanner.nextLine();
            lineScanner = new Scanner(currentLine);
            lineScanner.useDelimiter(",");
            runnerName = lineScanner.next();
            runnerAge = lineScanner.nextInt();

            Runner runnerObject = new Runner();

            if (runnerAge < 18)
            {
               ageGroup = "junior";
               runnerObject.setAgeGroup(ageGroup);
            }
            else
            if (runnerAge > 54)
            {
               ageGroup = "senior";
               runnerObject.setAgeGroup(ageGroup);
            }
            else
            {
               ageGroup = "standard";
               runnerObject.setAgeGroup(ageGroup);
            }

            runnerObject.setName(runnerName);

            runners.add(runnerObject);


         }
      }

      catch (Exception anException)
      {
         System.out.println("Error: " + anException);
      }

      finally
      {
         try
         {
            bufferedScanner.close();
         }

         catch (Exception anException)
         {
            System.out.println("Error: " + anException);
         }
      }
   }

创建类实例的测试代码为:

MarathonAdmin ma = new MarathonAdmin();
ma.readInRunners();

有一个正在使用的类叫做Runners ,它已经通过其协议进行了设置。 该类可编译,但ma.readInRunner(); 消息以错误结尾。 程序将要运行的文本文件没有错误。

我是编程的新手,因此很难对问题进行故障排除。 希望有人可以帮助我。

===============>>#1 票数:1 已采纳

在构造函数中应该是

public MarathonAdmin()
{
  // initialise instance variables
   this.runners = new ArrayList<>();
}

并不是

public MarathonAdmin()
{
   // initialise instance variables
   List<Runner> runners = new ArrayList<>();
}

===============>>#2 票数:0

问题是您已经创建了一个Try-catch块,但是在catch部分中,您没有打印stacktrace ,请参见:

  catch (Exception anException)
  {
     System.out.println("Error: " + anException); // just prints: Error: java.lang.NullPointerException
  }

改进此catch块以进行调试,例如:

  catch (Exception e) {
      e.printStackTrace(); //prints the full stacktrace
  }

现在,您应该获得完整的堆栈跟踪,该跟踪也显示行号,您将可以自己调试它;-)

实际上,您可能应该完全删除try-catch块。

  ask by Son Goku translate from so

未解决问题?本站智能推荐:

1回复

Java中的异常处理具有Java最佳实践

我有一个如下的Java方法: 我知道我在上述方法中处理异常的方法是不正确的,正在寻找使这些方法更符合Java标准和最佳实践的方法。 对于以下方法类似: 我如何处理这些不同的例外情况以符合最佳做法?
1回复

tinyradius身份验证方法导致NullPointerException

从标题可以想象,我想使用TinyRadius Java库与Radius服务器通信。 我知道Radius服务器的目的是检查是否允许用户进入或使用某个网络。 但是,我只想知道,不需要授予某人对newtwork的访问权限,无论该用户是否被允许。 但是,如果我尝试这样做,则会遇到NullPoi
1回复

我如何摆脱NullPointerException?

似乎无法摆脱NullPointerException错误。 现在已经编码大约一年了。 无论如何,我已经尝试了!xyz.equals(null)或xyz[0] != null所有可能组合,但似乎找不到解决方案。 我现在已经花了大约2个小时。 帮助将不胜感激。 谢谢。 堆
1回复

java中的java.lang.NullPointerException

当我在第二个for循环中使用subject.getSubjectHasProgram()获得设置接口时,出现NullPointerException异常。 但是subject.getSubjectHasProgram()。size()显示等于2,这是我想要的.. !!
2回复

异常java.lang.NullPointerException

Iam使用Java在Windows版本的桌面应用程序中工作。 在我的应用程序中,需要搜索所有.php 我使用递归方法; 和正则表达式 我的代码: 但是我有这个例外:
3回复

文件java.lang.NullPointerException。 错误

我下面有以下代码,用于列出特定文件夹/目录中的所有文件。 对于Mac,这是完美的工作方式,但是当涉及到Windows时,我得到了java.lang.NullPointerException。 我不确定要如何解决它,我知道这意味着将目录File变量之一放入函数时作为Null传递。 但是我
4回复

在try catch块内执行SQL查询时出现java.lang.NullPointerException错误

运行程序时出现java.lang.NullPointerException错误。 似乎错误似乎在try块内部: rs = st.executeQuery(query); 下面的Java代码中的方法regcustomers 。 请查看我的代码并帮助我了解我做错了什么。 和
4回复

错误:线程“ main”中的异常java.lang.NullPointerException

我在代码中收到此错误。 这是我的代码: 这就是结果。 错误:输入模型:car.main(car.java:10)的线程“ main”中的异常java.lang.NullPointerException
8回复

java.lang.ExceptionInInitializerError原因:java.lang.NullPointerException

这来自OCJP示例。 我写了下面的代码 输出: java.lang.ExceptionInInitializerError 由以下原因引起: x[0] = 1; java.lang.NullPointerException x[0] = 1; 为什么它抛出NullPoint
1回复

AlertDialog的java.lang.NullPointerException(Android)

我正在尝试实施Parse Cloud Backend进行密码重置。 当我尝试从AlertDialog中的editTextField中获取值时,我遇到了NullPointerException异常。 可以在OnClick()的textViewForgotPassword案例中找到Alert