面向对象编程中的数组

时间:2018-10-12 10:22:15

标签: java arrays oop methods

我是面向对象编程的初学者,这是我的第一个小项目。我听说这里每个人都可以在您的代码中为您提供帮助,这是我的第一次。存储任何值吗?

代码如下:

    public class Information {
    private IT_Members[] member= new IT_Members[10];
    private int counter = 0;



Information()
{
    for ( int ctr=0;ctr<member.length;ctr++)
    {
        member[ctr] = new IT_Members ();

    }

}

public void Add(IT_Members member)
    {
        if(counter<10)
        {
        this.member[counter].setName(member.getName());
        this.member[counter].setDeparment(member.getDeparment());
        this.member[counter].setPostion(member.getPostion());
        this.member[counter].setID(member.getID()+counter);
        counter++;
        }
        else
            System.out.println("Add List Full"); 
    }
public void Display()
    {
        if (counter!=0)
        {
            for (int ctr=0;ctr<10;ctr++){
            System.out.println(this.member[ctr].getName()+
           this.member[ctr].getDeparment()+
           this.member[ctr].getPostion()+ 
           this.member[ctr].getID());


            }
        }
        else
        System.out.println("No member yet!");



    }

这是主要班级:

import java.util.Scanner;
import java.util.Arrays;
public class Interface {

    public static void main(String[]args)
    {
        Scanner in=new Scanner(System.in);
        IT_Members input1 = new IT_Members();
        Information input2 = new Information();
        int x=1;
        while(x!=0)
        {

        System.out.println(" \n[1] Add new student member. \n[2] View members.\nChoose now: ");
        int choose = in.nextInt();

        switch (choose){

            case 1:
              System.out.println("Name: ");
              input1.setName(in.nextLine());
              System.out.println("Deparment: ");
              input1.setDeparment(in.nextLine());
              System.out.println("Postion: ");
              input1.setPostion(in.nextLine());
              System.out.println("Student record has been added. ");
              break;

            case 2:

                input2.Display();
                break;

}
}

............................................... ..........................

public class IT_Members {
    private String name,deparment,postion;
    private int ID=1000;
    private int Flag=0;

    IT_Members (){


    }
    IT_Members (String name, String deparment , String postion ,int ID , int Flag){
     this.name= name;
     this.deparment=deparment;
     this.postion=postion;
     this.ID=ID;
     this.Flag=Flag;


    }

    public String getName (){

        return this.name;
    }
    public String getDeparment (){

        return this.deparment;
    }

    public String getPostion (){

        return this.postion;
    }

    public int getID (){

        return this.ID;
    }

    public int getFlag (){

        return this.Flag;
    }

    public void setName (String name){

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

        this.deparment = deparment;
    }

    public void setPostion (String postion){

        this.postion = postion;
    }

    public void setID (int ID){

        this.ID = ID;
    }

    public void setFlag (int Flag){

        this.Flag = Flag ;
    }

    public String toStu()
    {

        String str = "";
        str = "\nName: " + this.name +
                "\nDeparment: " + this.deparment + 
                "\nPostion: " + this.postion +
                "\nID: " + this.ID;
        return str;        
    }
}

请,我对此深感困惑,感谢您的帮助。

谢谢。

2 个答案:

答案 0 :(得分:3)

您永远不会在Add类中调用Information函数。因此,您永远不会初始化要显示的任何数组元素。

您需要先添加input2.Add(input1),然后再进行添加。

答案 1 :(得分:1)

您每次必须创建一个新对象,最后必须在列表中添加。

import java.util.Scanner;
import java.util.Arrays;
public class Interface {

    public static void main(String[]args)
    {
        Scanner in=new Scanner(System.in);
        Information input2 = new Information();
        int x=1;
        while(x!=0)
        {

        System.out.println(" \n[1] Add new student member. \n[2] View members.\nChoose now: ");
        int choose = in.nextInt();

        switch (choose){

            case 1:
              IT_Members input1 = new IT_Members();// this need to be here so that every time crete new object
              System.out.println("Name: ");
              input1.setName(in.nextLine());
              System.out.println("Deparment: ");
              input1.setDeparment(in.nextLine());
              System.out.println("Postion: ");
              input1.setPostion(in.nextLine());
              input2.Add(input1); // that was missing
              System.out.println("Student record has been added. ");
              break;

            case 2:

                input2.Display();
                break;

}
}