Output showing null values. how to resolve
i have three classes :
CustomerData.java
import java.util.Date;
public class CustomerData
{
private String FirstName;
private String LastName;
private int TaxId;
private String HomePhone;
private String WorkPhone;
private String HomeAddress;
private Date Dob;
private String EmployerName;
private boolean isEmployed;
private String ProDescription;
private String IsSameAsPrevious;
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public int getTaxId() {
return TaxId;
}
public void setTaxId(int taxId) {
TaxId = taxId;
}
public String getHomePhone() {
return HomePhone;
}
public void setHomePhone(String homePhone) {
HomePhone = homePhone;
}
public String getWorkPhone() {
return WorkPhone;
}
public void setWorkPhone(String workPhone) {
WorkPhone = workPhone;
}
public String getHomeAddress() {
return HomeAddress;
}
public void setHomeAddress(String homeAddress) {
HomeAddress = homeAddress;
}
public Date getDob() {
return Dob;
}
public void setDob(Date dob) {
Dob = dob;
}
public String getEmployerName() {
return EmployerName;
}
public void setEmployerName(String employerName) {
EmployerName = employerName;
}
public boolean isEmployed() {
return isEmployed;
}
public void setEmployed(boolean isEmployed) {
this.isEmployed = isEmployed;
}
public String getProDescription() {
return ProDescription;
}
public void setProDescription(String proDescription) {
ProDescription = proDescription;
}
public String getIsSameAsPrevious() {
return IsSameAsPrevious;
}
public void setIsSameAsPrevious(String isSameAsPrevious) {
IsSameAsPrevious = isSameAsPrevious;
}
}
MainCntrlr.java
public class MainCntrlr {
public static void main(String[] args)
{
CustomerData customerData=new CustomerData();
customerData.setFirstName("RAVI");
customerData.setLastName("Shekhar");
customerData.setHomePhone("123456789");
customerData.setWorkPhone("1256554634");
customerData.setHomeAddress("Banagalore");
customerData.setEmployerName("ABc");
customerData.setProDescription("New Produtc");
customerData.setTaxId(1233434343);
ContrOne ctr=new ContrOne();
ctr.displayInformation();
}
}
ContrOne.java
import com.blr.CustomerData;
public class ContrOne
{
public void displayInformation()
{
CustomerData cd=new CustomerData();
System.out.println("displaying customer Info");
System.out.println(cd.getFirstName());
System.out.println(cd.getLastName());
System.out.println(cd.getHomePhone());
System.out.println(cd.getWorkPhone());
System.out.println(cd.getEmployerName());
System.out.println(cd.getProDescription());
System开发者_如何学JAVA.out.println(cd.getDob());
System.out.println(cd.getTaxId());
}
}
Output is :
displaying customer Info
null
null
null
null
null
null
null
0
In your method ContrOne.displayInformation()
you create a new new CustomerData()
object. Thus it is not properly initialized. Maybe you want to pass customerData
from your main
method to displayInformation
?
You are creating a CustomerData
object in MainCntrlr
class but not passing it to the ContrOne
class. ContrOne
is creating it's own CustomerData
object and printing it's values which are null.
A possible solution could be to change the signature of displayInfo
and pass the CustomerData
object to this method from MainCntrlr class.
A few other points to note
- The class names are confusing. It is not clear why you have created
MainCntrlr
andContrOne
classes separately. - If all you want is to display Customer information, you may want to override the
toString
() method inCustomerData
class instead.
Your ContrOne.displayInformation()
instantiates a new CustomerData()
object to cd
but never populates fields in it.
If you want your ContrOne
to display information, rather do this:
public class ContrOne {
public void displayInformation(CustomerData cd) {
System.out.println("displaying customer Info");
System.out.println(cd.getFirstName());
System.out.println(cd.getLastName());
System.out.println(cd.getHomePhone());
System.out.println(cd.getWorkPhone());
System.out.println(cd.getEmployerName());
System.out.println(cd.getProDescription());
System.out.println(cd.getDob());
System.out.println(cd.getTaxId());
}
}
and in MainCntrlr
public static void main(String[] args) {
CustomerData customerData=new CustomerData();
customerData.setFirstName("RAVI");
customerData.setLastName("Shekhar");
customerData.setHomePhone("123456789");
customerData.setWorkPhone("1256554634");
customerData.setHomeAddress("Banagalore");
customerData.setEmployerName("ABc");
customerData.setProDescription("New Produtc");
customerData.setTaxId(1233434343);
ContrOne ctr=new ContrOne();
ctr.displayInformation(customerData);
}
精彩评论