|
Элементы класса
|
|||
---|---|---|---|
#18+
Всем привет !!! Столкнулся я недавно с одной проблемкой, просидел до позна но так и не решил, видать опыта мало, вот решил написать на форум. Проблема в следующем: Есть класс, в нем есть 3-мерный массив. Есть функция которая его заполняет (инициализирует). Есть функция, которая его использует его данные (выводит). Когда я отдельно вызываю функцию инициализации, а затем функцию, которая данные выводит, ничего не получается, массив заполнен элементами null. Но если я вызываю функцию инициализации, внутри функции которая данные выводит, все проходит на ура. Подскажите пожалуйста что не так? Исходники: public class JspCalendar extends Object { private String ID = "Calendar"; private ServletRequest request = null; private ServletResponse response = null; private JspWriter out = null; private String [][][] d = new String [5][7][3]; // 0 - номер дня, 1 - цвет фона, 2 - цвет шрифта private Calendar cal = GregorianCalendar.getInstance(); public String CurDayBGCol = "Yellow"; public String CurDayFCol = "RED"; public JspCalendar(PageContext pageContext, String id) { if (id != null) ID = id; if (pageContext != null) { request = pageContext.getRequest(); response = pageContext.getResponse(); out = pageContext.getOut(); } LoadDays(); } private void LoadDays() { Calendar cl = (Calendar)cal.clone(); int first_day = 1; int max_day = cl.getActualMaximum(Calendar.DAY_OF_MONTH); cl.set(Calendar.DAY_OF_MONTH,1); cl.set(Calendar.WEEK_OF_MONTH,1); int first_day_in_weak = cl.get(Calendar.DAY_OF_WEEK); for (int i = 0; i < d.length; i++) { for (int j = 0; j < d .length; j++) { d[j][0] = ""; d[j][1] = ""; d[j][2] = ""; } } for (int i = 0; i < d.length; i++) { for (int j = first_day_in_weak; j < d.length; j++) { d[j][0] = String.valueOf(first_day); if (first_day == max_day)break; first_day ++; } first_day_in_weak = 0; } } private boolean setCurDay() { String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); return setColor(day, CurDayBGCol, CurDayFCol); } public boolean setColor(String day, String BGColor, String FColor) { if (day == null) return false; System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1"); for (int i = 0; i < d.length; i++) { System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2"); for (int j = 0; j < d.length; j++) { System.out.println("!!!!!!!!!!!!!!!!!!!!!!! 3"); System.out.println("d[" + i + "][" + j + "][0] " + d[j][0]); if (day.equals(d[j][0])) { System.out.println("!!!!!!!!!!!!!!!!!!!!!!! 4"); d[j][1] = BGColor; d[j][2] = FColor; return true; } } } return false; } public String GetContent() { String ret = ""; LoadDays(); ////////////////////////////////////////////////////////////////////////////////////////////////// // код // ////////////////////////////////////////////////////////////////////////////////////////////////// for (int i = 0; i < d.length; i++) { ret = ret + " <tr>" + "\n"; for (int j = 0; j < d.length; j++) { String bgcolor = ""; String fscolor = ""; String fecolor = ""; if (!("".equals(d[j][1]))) bgcolor = " bgcolor=\"" + CurDayBGCol + "\" "; if (!("".equals(d[j][2]))) fscolor = " <font color=" + CurDayFCol + "> "; if (!("".equals(d[j][2]))) fecolor = " </font> "; ret = ret + "<th" + bgcolor + "><a class=\"calcd\" href=\"#\">" + fscolor + d[j][0] + fecolor + "</a></th>" + "\n"; } ////////////////////////////////////////////////////////////////////////////////////////////////// // код // ////////////////////////////////////////////////////////////////////////////////////////////////// return ret; } } ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2004, 10:35 |
|
Элементы класса
|
|||
---|---|---|---|
#18+
\/ladВсем привет !!! Столкнулся я недавно с одной проблемкой, просидел до позна но так и не решил, видать опыта мало, вот решил написать на форум. Проблема в следующем: Есть класс, в нем есть 3-мерный массив. Есть функция которая его заполняет (инициализирует). Есть функция, которая его использует его данные (выводит). Когда я отдельно вызываю функцию инициализации, а затем функцию, которая данные выводит, ничего не получается, массив заполнен элементами null. Но если я вызываю функцию инициализации, внутри функции которая данные выводит, все проходит на ура. Подскажите пожалуйста что не так? Исходники: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113.
офф: в неделе пять дней? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2004, 10:45 |
|
Элементы класса
|
|||
---|---|---|---|
#18+
Нет, это пять недель, а дней 7. Просто 1 число не всегда выпадает на понедельник. Так удобней обрабатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2004, 10:47 |
|
|
start [/forum/topic.php?fid=59&fpage=838&tid=2153730]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 327ms |
total: | 487ms |
0 / 0 |