【问题标题】:How do i access ArrayList that is in another class using for each loop我如何使用每个循环访问另一个类中的 ArrayList
【发布时间】:2023-03-28 16:32:01
【问题描述】:

如何在 Message() 方法循环中使用 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;
    }
}

【问题讨论】:

  • 我想说的是,我保证这很容易......

标签: java for-loop arraylist


【解决方案1】:

如 cmets 中所述,您的静态 ArrayList 是私有的。要访问它,我们必须将其访问修饰符更改为 public 或创建所谓的 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 等。

【讨论】:

  • 用您尝试使用我的代码的方式编辑您的帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多