Как получить доступ ко всем значениям или массивам вне цикла? Я хочу получить доступ к нему за пределами цикла, потому что мне нужно сгруппировать их в соответствии с availableID
. Я попытался сгруппировать их внутри цикла, то результат будет не так, что я ожидал ..получить доступ ко всему значению массива вне цикла и сгруппировать его
Ожидаемый результат:
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013438096 Hello 1025 1003 7 7 null
2013339255 Hello 1024 1001 7 7 null
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013366609 Hello 1027 1013 2 2 null
2011679914 Hello 1015 1014 2 2 null
2013765397 Hello 1026 1014 2 2 null
Тем не менее, оказывается, как это:
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013339255 Hello 1024 1001 7 7 null
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013438096 Hello 1025 1003 7 7 null
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013765397 Hello 1026 1014 2 2 null
Student Name Project Title Supervisor Name Examiner Name Start End Date
2011679914 Hello 1015 1014 2 2 null
Student Name Project Title Supervisor Name Examiner Name Start End Date
2013366609 Hello 1027 1013 2 2 null
я понял, я должен сгруппировать их вне цикла, так что это моя логика:
try{
String studentName = null;
String projectTitle = null;
String SVName = null;
String EXName = null;
int availID = 0;
String day = null;
Time start = null;
Time end = null;
Date date = null;
for (int i=0 ; i<studentID.length ; i++){
List<Object[]> list = (List<Object[]>) GenerateScheduleDAO.getFree(supervisorID[i],examinerID[i],studentID[i]);
Object[] array = null;
if(!list.isEmpty()){
//declaring the variables
studentName = (String) array[7];
....... // all variables
date = (Date) array[3];
}//check list is NOT empty
else if (list.isEmpty()){
list = (List<Object[]>) GenerateScheduleDAO.getOtherFree(examinerID[i], supervisorID[i],studentID[i]);
//declaring the variables
studentName = (String) array[7];
....... // all variables
date = (Date) array[3];
}
}//student loop
if (availID == 2) {
out.println("<br><center><table id=\"t01\"><tr>"
+ "<th>7Student Name</th>"
+ "<th>Project Title</th>"
+ "<th>Supervisor Name</th>"
+ "<th>Examiner Name</th>"
+ "<th>Day</th>"
+ "<th>Start</th>"
+ "<th>End</th>"
+ "<th>Date</th>"
+ "</tr>");
out.println("<tr>");
out.println("<td>"+ studentName+"</td>");
out.println("<td>"+ projectTitle +"</td>");
out.println("<td>"+ SVName +"</td>");
out.println("<td>"+ EXName +"</td>");
out.println("<td>"+ day +"</td>");
out.println("<td>"+ start +"</td>");
out.println("<td>"+ end+"</td>");
out.println("<td>"+ date+"</td>");
out.println("</tr>");
out.println("</center></table><br><br>");
}//2
else if (availID == 7) {
//Table consist of same attribute as above
}//7
if (availID == 10) {
//Table consist of same attribute as above
}//10
if (availID == 16) {
//Table consist of same attribute as above
}//16
else if (availID != 2 && availID != 7 && availID != 10 && availID == 16) {
//Table consist of same attribute as above
}//else
}// first try
этот код может восстановить только Ла st значение массива. Но я хотел бы получить доступ ко всем данным массива. Как я могу это решить? ИЛИ мне нужно каждый раз встраивать петлю в каждое условие?
Как я писал ответ, я понял, у вас есть некоторые проблемы с кодом. Вы уверены, что ваш код работает без исключения? Вы не устанавливаете переменную 'Object [] array', но позже получаете доступ к ней. – Underbalanced
@ Недостаточно, конечно, исключение. Честно говоря, я урезал много своих кодов, поэтому он не будет слишком длинным. Люди не хотят читать его :(Если вы не попросите об этом, я выложу длинный номер – user6308605
, что он представляет, и где вы задаете? Я вижу, что вы инициализируетесь с 0, но не устанавливаете его. – Vijay