You  declare an array 0f 10 elements, but fill only three. The 4th element
(at position 3) is still null, that is where you get you null pointer.

Maybe it is a good time to:
1. switch to java 17 which has better error messages for null pointers when
you start it with -XX:+ShowCodeDetailsInExceptionMessages.
2. Add tests to your code so you are more selfsufficient. Maybe have a
glance at https://testfirstj.github.io/index.html that gives an
introduction to Test Driven Design.


Met vriendelijke groet,
Pieter van den Hombergh.
Kerboschstraat 12
5913 WH Venlo


On Sat, Jul 2, 2022 at 1:32 AM Zulfi Khan <zulfi6...@yahoo.com.invalid>
wrote:

> Hi,
>
> I am getting a run-time error in the following program,using Netbeans ID:
> 14, ubuntu 18.04:
>
>
> /*
>
> * Click
> nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to
> change this license
>
> * Click
> nbfs://nbhost/SystemFileSystem/Templates/Project/Maven2/JavaApp/src/main/java/${packagePath}/${mainClassName}.java
> to edit this template
>
> */
>
>
> package com.mycompany.add2strjop;
>
> import java.util.Arrays;
>
> import javax.swing.*;
>
> import java.lang.NumberFormatException;
>
> import java.io.FileWriter;
>
> import java.io.FileReader;
>
> import java.io.BufferedWriter;
>
> import java.io.BufferedReader;
>
> import java.io.IOException;
>
> import java.lang.Math;
>
> class Employee{
>
> private String strEmpName;
>
> int iID;
>
> int iWage;
>
> Employee(){}
>
> int getID(){return iID;}
>
> int getWage(){return iWage;}
>
> String getEmpName(){return strEmpName;}
>
> void setID(int i){ iID = 1000 +i;}
>
> void setWage(int i){iWage = 10000 + 2*i;}
>
> void setEmpName(int i){strEmpName = "Emp"+i;}
>
> }
>
> public class Add2StrJOp {
>
> Employee[] obj = new Employee[10];
>
> Employee[] empArrRegisterEmployee(){
>
> for(int i=0; i<3; i++){
>
> obj[i] = new Employee();
>
> obj[i].setID(i);
>
> obj[i].setWage(i);
>
> obj[i].setEmpName(i);
>
> }
>
> return obj;
>
> }
>
> void showRecords(Employee[] arr){
>
> for(int i=0; i< arr.length; ++i){
>
> String strName = arr[i].getEmpName();
>
> int iidTemp = arr[i].getID();
>
> int iWageTemp = arr[i].getWage();
>
> String res = "Name= "+strName+"id= "+Integer.toString(iidTemp)+"wage=
> "+Integer.toString(iWageTemp);
>
> JOptionPane.showMessageDialog(null, res);
>
> }
>
> }
>
> public static void main(String[] args){
>
> Add2StrJOp obj = new Add2StrJOp();
>
> Employee[] objEmp =obj.empArrRegisterEmployee();
>
> obj.showRecords(objEmp);
>
> }
>
> }
>
>
>
> The error is:
>
>
> cd /home/zulfi/NetBeansProjects/add2StrJOp;
> JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
> /snap/netbeans/64/netbeans/java/maven/bin/mvn -Dexec.vmArgs=
> "-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass}
> ${exec.appArgs}" -Dexec.appArgs=
> -Dexec.mainClass=com.mycompany.add2strjop.Add2StrJOp
> -Dexec.executable=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
> org.codehaus.mojo:exec-maven-plugin:3.0.0:exec
>
> Running NetBeans Compile On Save execution. Phase execution is skipped and
> output directories of dependency projects (with Compile on Save turned on)
> will be used instead of their jar artifacts.
>
> Scanning for projects...
>
>
> ----------------< com.mycompany.add2strjop:add2StrJOp >-----------------
>
> Building add2StrJOp 1.0-SNAPSHOT
>
> --------------------------------[ jar ]---------------------------------
>
>
> --- exec-maven-plugin:3.0.0:exec (default-cli) @ add2StrJOp ---
>
> Exception in thread "main" java.lang.NullPointerException
>
> at com.mycompany.add2strjop.Add2StrJOp.showRecords(Add2StrJOp.java:41)
>
> at com.mycompany.add2strjop.Add2StrJOp.main(Add2StrJOp.java:55)
>
> Command execution failed.
>
> org.apache.commons.exec.ExecuteException: Process exited with an error: 1
> (Exit value: 1)
>
> at org.apache.commons.exec.DefaultExecutor.executeInternal
> (DefaultExecutor.java:404)
>
> at org.apache.commons.exec.DefaultExecutor.execute
> (DefaultExecutor.java:166)
>
> at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:982)
>
> at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:929)
>
> at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:457)
>
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:137)
>
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:301)
>
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:211)
>
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:165)
>
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:157)
>
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:121)
>
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:81)
>
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:56)
>
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:127)
>
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
>
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
>
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
>
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke (Method.java:566)
>
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)
>
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)
>
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)
>
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
>
> ------------------------------------------------------------------------
>
> BUILD FAILURE
>
> ------------------------------------------------------------------------
>
> Total time: 5.002 s
>
> Finished at: 2022-07-01T18:09:59-05:00
>
> ------------------------------------------------------------------------
>
> Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec
> (default-cli) on project add2StrJOp: Command execution failed.: Process
> exited with an error: 1 (Exit value: 1) -> [Help 1]
>
>
> To see the full stack trace of the errors, re-run Maven with the -e switch.
>
> Re-run Maven using the -X switch to enable full debug logging.
>
>
> For more information about the errors and possible solutions, please read
> the following articles:
>
> [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
>
>
>
> Somebody please guide me.
>
>
> Zulfi.
>
>

Reply via email to