In a nutshell, the problem is simple (relatively likely) - there is a certain Central
class in which:
- We declare and initialize a couple of objects of another class
Production
. - We declare an array of type
Production
, in which we add previously created objects. We declare a pair of arrays in which we will store the field data of these objects.
String[] names; // для поля (имя) каждого из объектов int[] speeds; // для поля (скорость) каждого из объектов // ну и так далее
At the time of attempt to initialize these arrays for storage, I receive NullPointerExeption
. I tried it differently, but the error still appears.
for(int i=0;i<prodList.length;i++) { names[i]=prodList[i].getProdName(); speeds[i]=prodList[i].getProdSpeed(); //ну и в таком ключе дальше }
So, who can explain, if possible, it is not difficult what interacts?
Sources:
package production; public class Central { //String fName, String pName, int fNum, int pNum,int price, double speed private Production goldProd = new Production("Gold mine","gold",0,25,1000,5.0); private Production ironProd = new Production("Iron mine","iron",0,50,500,2.5); private Production stoneProd = new Production("Stone quarry","stone",0,100,200,1.0); private Production sandProd = new Production("Sand quarry","sand",0,250,50,0.75); private Production woodProd = new Production("Sawmill","wood",0,150,75,1.5); private Production[] prodList = new Production[]{goldProd,ironProd,stoneProd,sandProd,woodProd}; private String[] FactNames; private String[] ProdNames; private int[] FactNums; private int[] PNums; private int[] Prices; private double[] Speeds; public Central(){ begin(); } void begin() { goldProd = new Production("Gold mine","gold",0,25,1000,5.0); ironProd = new Production("Iron mine","iron",0,50,500,2.5); stoneProd = new Production("Stone quarry","stone",0,100,200,1.0); sandProd = new Production("Sand quarry","sand",0,250,50,0.75); woodProd = new Production("Sawmill","wood",0,150,75,1.5); prodList = new Production[]{goldProd,ironProd,stoneProd,sandProd,woodProd}; /* for(int i=0;i<prodList.length;i++) { FactNames[i]=prodList[i].getFactName(); ProdNames[i]=prodList[i].getProdName(); FactNums[i]=prodList[i].getFactNum(); PNums[i]=prodList[i].getProdPerC(); Prices[i]=prodList[i].getPrice(); Speeds[i]=prodList[i].getProdSpeed(); } */ for(Production x:prodList) { int i=0; FactNames[i]=prodList[i].getFactName(); ProdNames[i]=prodList[i].getProdName(); FactNums[i]=prodList[i].getFactNum(); PNums[i]=prodList[i].getProdPerC(); Prices[i]=prodList[i].getPrice(); Speeds[i]=prodList[i].getProdSpeed(); i++; } } public void Info() { for(int i=0;i<prodList.length;i++) { System.out.println("тест внедрения"); System.out.print(FactNames[i]+" "+ProdNames[i]+" "+FactNums[i]+" "+PNums[i]+" "+Prices[i]+" "+Speeds[i]); System.out.println("|---------------|---------------|---------------|---------------|"); } } } public class Production { private String FactName; private String ProdName; private int FactNum; private int ProdPerC; private int Price; private double ProdSpeed; void setFactName(String name){ FactName = name; } void setProdName(String name){ ProdName = name; } void setFactNum(int num){ FactNum = num; } void setProdPerC(int prod){ ProdPerC = prod; } void setPrice(int price){ Price = price; } void setProdSpeed(double speed){ ProdSpeed = speed; } String getFactName(){ return FactName; } String getProdName(){ return ProdName; } int getFactNum(){ return FactNum; } int getProdPerC() { return ProdPerC; } int getPrice(){ return Price; } double getProdSpeed() { return ProdSpeed; } Production(){ FactName=""; ProdName=""; FactNum=0; ProdPerC=0; ProdSpeed=0; Price=0;} Production(String fName, String pName, int fNum, int pNum,int price, double speed) { FactName=fName; ProdName=pName; FactNum=fNum; ProdPerC=pNum; Price=price; ProdSpeed=speed; } }
package sandbox; import production.Central; public class program { public static void main(String[] args) { Central c= new Central(); c.Info(); } }