Как получить доступ к ArrayList, который находится в другом классе, для каждого цикла - PullRequest
0 голосов
/ 22 января 2020

Как использовать ArrayList в методе Message () l oop? Я хочу получить доступ к arraylist и получить атрибуты человека, чтобы сформировать окончательное сообщение в процессе регистрации.

package sample;

import java.util.ArrayList;

public class PersonRegister {
    private static ArrayList<Person> regiter = new ArrayList<>();

    public void regitration (String name, String email, String phonennr, int year, int monht, int day, int age){
        Person onePerson = new Person(name,email,phonennr, year,monht,day,age);
        regiter.add(onePerson);

    }
}

А это регистрационное сообщение класса

package sample;

public class RegistrationMessage {
    public String Mesage(){

        String out="";

        for(Person onePerson : register){

            out+= onePerson.getName() + " "+ onePerson.getEmail()+ " "+ onePerson.getPhonenr()+ "\n" +
                    " som er fodt: "+ onePerson.getYear()+ "/"+ onePerson.getMonth()+"/"+ onePerson.getDay()+ " er"
                    +onePerson.getAge()+ " år gammel"+"\n";
        }
        return out;
    }
}

1 Ответ

0 голосов
/ 22 января 2020

Как уже упоминалось в комментариях, ваш статус c ArrayList является приватным. Чтобы получить к нему доступ, мы должны либо изменить его модификатор доступа на publi c, либо создать так называемый метод Getter.

Этот код является последним:

package sample;

import java.util.ArrayList;

public class PersonRegister {
private static ArrayList<Person> regiter = new ArrayList<>();

    public void regitration (String name, String email, String phonennr, int year, int monht, int day, int age){
        Person onePerson = new Person(name,email,phonennr, year,monht,day,age);
        regiter.add(onePerson);

    }

    public ArrayList<Person> getRegiter(){
        return(regiter);
    }
}

Регулятор может затем получить доступ в другом классе, создав объект PersonRegister и получив доступ к нему через точечную запись.

PersonRegister personRegister = new PersonRegister();
personRegister.getRegiter(); //returns the ArrayList

Я бы также сказал проверить некоторые из написанных вами слов; Я полагаю, вы имеете в виду регистр, месяц, phonenmr, et c.

...