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