Java 从主类中的另一个类访问arraylist

Java 从主类中的另一个类访问arraylist,java,Java,我不知道该怎么做,因为我是java新手。我想将我的时间段类的arraylist中的所有对象显示到主类中。我尝试了几种方法,比如使用for(int=0;I

我不知道该怎么做,因为我是java新手。我想将我的时间段类的arraylist中的所有对象显示到主类中。我尝试了几种方法,比如使用for(int=0;I TimeSlot.java

import java.util.ArrayList;

public class TimeSlot {

    private String slotName;
    private ArrayList<Booking> bookingList;


    public TimeSlot(String sn) {

        this.slotName = sn;
        this.bookingList = new ArrayList<Booking>();

        Booking booking1 = new Booking("CS1011", "A04", "Aiman");
        Booking booking2 = new Booking("CS1012", "A13", "Nazim");
        Booking booking3 = new Booking("CS1013", "A06", "Sarah");
        Booking booking4 = new Booking("CS1014", "A21", "Majid");

        bookingList.add(booking1);
        bookingList.add(booking2);
        bookingList.add(booking3);
        bookingList.add(booking4);



    }

    public String getSlotName() {
        return slotName;
    }

    public ArrayList<Booking> getBookingList() {
        return bookingList;
    }

    public boolean isBooking (String bId, String cId, String sId) {
        boolean isVerifyBooking = false;
        for(Booking newBooking: bookingList){
            if((newBooking.getBookingId().equals(bId)) && newBooking.getComputerId().equals(cId) && newBooking.getStudentId().equals(sId)) {
                return true;
            }
        }
            return isVerifyBooking;
    }

}
import java.util.ArrayList;
公共类时隙{
私有字符串slotName;
私人ArrayList bookingList;
公共时隙(字符串序号){
this.slotName=sn;
this.bookingList=new ArrayList();
预订1=新预订(“CS1011”、“A04”、“艾曼”);
预订2=新预订(“CS1012”、“A13”、“Nazim”);
预订3=新预订(“CS1013”、“A06”、“Sarah”);
预订4=新预订(“CS1014”、“A21”、“Majid”);
bookingList.add(booking1);
bookingList.add(booking2);
bookingList.add(booking3);
bookingList.add(booking4);
}
公共字符串getSlotName(){
返回slotName;
}
公共阵列列表getBookingList(){
返回预订列表;
}
公共布尔值isBooking(字符串bId、字符串cId、字符串sId){
布尔值isVerifyBooking=false;
预订(新预订:预订列表){
如果((newBooking.getBookingId().equals(bId))和&newBooking.getComputerId().equals(cId)和&newBooking.getStudentId().equals(sId)){
返回true;
}
}
返回验证预订;
}
}
Main.java

public static void main(String[] args) {

        // TODO Auto-generated method stub
        Faculty faculty = new Faculty("Computer Science and Technology", "");
        Lab lab = new Lab("");
        ArrayList<Computer> computerList = new ArrayList<Computer>();
        ArrayList<Booking> isBookingList = new Booking(null, null, null).getBookingList();

           if (option.equals("1")) {

             System.out.println("\nChoose day: ");
             String days = sc.next();
             System.out.println("\nChoose date: ");
             String date = sc.next();

             boolean isValidDay = lab.verifyDate(days, date);

             if (isValidDay) {
               Day day = new Day(days, date);
               System.out.println("\nBooking date: " + day.getDay() + " " + day.getDate());
               System.out.println("\nPlease select a computer (A01 ~ A40): ");
               String cId = sc.next();

              System.out.println(isBookingList.size());
            }
          } else if (option.equals("2")) {

          // I want to display it here

          for (Booking booking: isBookingList) {
            System.out.println(booking.getBookingList());
         }
      }
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
教员=新教员(“计算机科学与技术”);
实验室=新实验室(“”);
ArrayList computerList=新的ArrayList();
ArrayList isBookingList=新预订(null,null,null).getBookingList();
如果(选项等于(“1”)){
System.out.println(“\n选择日期:”);
String days=sc.next();
System.out.println(“\n选择日期:”);
字符串日期=sc.next();
布尔值isValidDay=lab.verifyDate(天,日期);
如果(isValidDay){
天=新的一天(天,日期);
System.out.println(“\n预订日期:“+day.getDay()+”+day.getDate());
System.out.println(“\n请选择一台计算机(A01~A40):”;
字符串cId=sc.next();
System.out.println(isBookingList.size());
}
}否则,如果(选项等于(“2”)){
//我想在这里展示它
对于(预订:iBookingList){
System.out.println(booking.getBookingList());
}
}

实例化您的时间段类。这样您就可以获取bookingList数据

TimeSlot timeSlot = new TimeSlot("yourSlotName");

您正在使用空值创建Booking类的对象,并尝试访问列表

您应该创建时隙对象以访问启动的列表

替换该行

isBookingList = new Booking(null, null, null).getBookingList();


现在试试你的for循环。

用参数slot name创建TimeSlot类的实例,然后访问预订列表。

在你的整个
Main
程序中,你都没有引用你的
TimeSlot
类。为什么你希望它做任何与该类相关的事情?
isBookingList = new TimeSlot("your sn").getBookingList();