谁能告诉我为什么对对象Staff使用Null以及如何解决它

贝拉

我有一个叫做main的类,Staff从Person2继承而来

1)我应该创建一个包含Staff类型对象的ArrayList

2)然后使用Person2类创建Staff对象,并将其插入列表中

3)让用户输入人员对象的数据,然后打印

我有一个问题,当我运行我的main时,我得到用户为对象Staff输入的内容的Null值,这意味着我做错了

主文件

import java.util.ArrayList;
import java.util.Scanner;
public class Test {

public static void main(String[] args) {

    ArrayList<Staff>list=new ArrayList<Staff>();

    Scanner in=new Scanner(System.in);

    list.add(new Staff());
    list.add(new Staff("Marry", 23,500));

    System.out.println("Enter name");
    String name=in.next();

    System.out.println("Enter age");
    int age=in.nextInt();

    list.get(0).setName(name);
    list.get(0).setAge(age);

    Person2 c = new Staff(); 
    list.add((Staff) c); 
    System.out.println("Enter name");
    String name=in.next();

    System.out.println("Enter age");
    int age=in.nextInt();

    // Then what should I write here to not get null results for the object Staff


    for(int i=0; i<list.size();i++)
        System.out.println(list.get(i));

}

}

人档案

public class Person2 {

private String name;
private int age;
private String contactNumber;


public Person2()
{
    System.out.println(" Constructing default Person");

}

 Person2 ( String n, int a )
 { 
     System.out.println(" Constructing non-default Person");
     name = n;
     age = a;


 }

 public void setName( String name)
 {
     this.name = name;
 }

 public String getName()
 {
     return name;
 }

 public void setAge( int age)
 {
     this.age = age;
 }

 public int getAge()
 {
     return age;
 }


 public String toString()
 {
     return "Name : " +getName()
             +"\nAge :" +getAge()

 }
 }

员工档案

public class Staff extends Person2{

private double salary;

public Staff()
{
    System.out.println("Constructing default Staff ");
}

public Staff( String name, int age, double salary)
{
    super(name, age);
    System.out.println("Constructing non-default Staff ");
    this.salary = salary;
}

public void setSalary( double salary)
{
    this.salary = salary;
}

public double getSalary()
{
    return salary;
}

    public String toString()
{
    return super.toString() +"\nSalary : " +getSalary();
}
}
菲利普·约翰

您的主要方法中有一些严重的错误。列表不应该那样使用。

我已经为该应用程序提供了可能的修复程序。假设您需要阅读5名员工的详细信息。

未提供薪金部分。您可以根据需要添加它

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {

public static void main(String[] args) {

    List<Staff>list=new ArrayList<Staff>();

    Scanner in=new Scanner(System.in);

    for (int i = 0; i<5; i ++) {
        Staff staff = new Staff();
        System.out.println("Enter name");
        String name=in.next();

        System.out.println("Enter age");
        int age=in.nextInt();

        staff.setAge(age);
        staff.setName(name);

        list.add(staff);
    }

    for (Staff staff : list) {
        System.out.println(staff.toString());
    }
}

}

我认为这将满足您的要求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

c中的分段错误。谁能告诉我如何解决它?

ffmpeg依赖错误告诉我什么,如何解决?

谁能告诉我为什么它显示数组为空?

谁能告诉我为什么我的IFile总是返回null?

Scala 2.12告诉我不赞成使用Stack,如何完全替换它(以及为什么我在IntelliJ中看不到正确的警告)

谁能告诉我为什么8> 7 <6 = true?

谁能告诉我为什么不返回该值?

请谁能告诉我为什么输出是这样的?(蟒蛇)

谁能告诉我为什么该功能可以工作?

为什么我们使用此代码请谁能告诉我

谁能告诉我为什么我在python中使用gmtime和mktime,得到错误的结果?

谁能告诉我为什么下面的代码使用 waitKey(20) 以及这个 0xFF == ord('q') 是什么意思?

phpmyadmin受阻,为什么以及如何解决它?

为什么我的代码会死锁以及如何解决它

为什么我的列表成为整数,以及如何解决它

这个错误试图告诉我什么,我该如何解决?

在代码的最后一行中,我尝试进行投射,但返回null。我的意思是选择=空。我想知道为什么以及如何解决它

谁能告诉我如何实现?

请告诉我为什么它错了(LCM & GCD)

我的脚本出现语法错误,但我不知道为什么以及如何解决它>

谁能告诉我为什么我的触发器不按我预期的方式工作?

谁能告诉我为什么我们需要解码URIComponent

谁能告诉我为什么我的程序会无限循环?

谁能告诉我,为什么我的js代码未在jsfiddle上运行?

谁能告诉我为什么我的过滤数组为空?

谁能告诉我为什么我的 calculateCoin 函数没有出现?

谁能告诉我为什么我的计算器名称更改为中文?

谁能告诉我为什么我的代码显示的pi值错误?

谁能告诉我为什么这个where子句没有给我结果?