powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Дни недели без выходных
13 сообщений из 13, страница 1 из 1
Дни недели без выходных
    #38354284
Leyla89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Построить список, содержащий все дни недели для любого месяца в любом году. Суббот и воскресений не должно быть в этом списке. Написать класс, содержащий методы, необходимые для построения такого списка.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38354303
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leyla89Построить список, содержащий все дни недели для любого месяца в любом году. Суббот и воскресений не должно быть в этом списке. Написать класс, содержащий методы, необходимые для построения такого списка.
Сделать лабораторную работу. Получить зачет.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38354335
Leyla89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как теперь убрать сб и вс?
Код: java
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.
import java.text.DateFormatSymbols;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

public class Task5 extends AbstractTableModel{
	  int column;
	  int row;
	  Integer days[][];
	  Calendar calendar;
	  String[] dayNames;
	  int year;
	  int month;
	  
	  public Task5(int year, int month){
	    set(year, month);
	  }
	  
	  public void set(int year, int month){
	    this.year = year;
	    this.month = month;
	    init();
	    fireTableStructureChanged();
	  }
	  
	  private void init(){
	    calendar = Calendar.getInstance();
	    calendar.setMinimalDaysInFirstWeek(7);
	    calendar.clear();
	    calendar.set(Calendar.YEAR, year);
	    calendar.set(Calendar.MONTH, month);
	    column = calendar.getActualMaximum(Calendar.DAY_OF_WEEK) - calendar.getActualMinimum(Calendar.DAY_OF_WEEK) + 1;
	    row = calendar.getActualMaximum(Calendar.WEEK_OF_MONTH) - calendar.getActualMinimum(Calendar.WEEK_OF_MONTH) + 1;
	    days = new Integer[row][column];
	    dayNames = new String[column];
	    int currDay = calendar.getFirstDayOfWeek();
	    String[] d = new DateFormatSymbols().getShortWeekdays();
	    for(int i = 0; i < dayNames.length; i++){
	      dayNames[i] = d[currDay];
	      currDay++;
	      if(currDay > calendar.getActualMaximum(Calendar.DAY_OF_WEEK))
	        currDay = calendar.getActualMinimum(Calendar.DAY_OF_WEEK);
	    }	    
	    calendar.set(Calendar.WEEK_OF_MONTH, calendar.getActualMinimum(Calendar.WEEK_OF_MONTH));
	    calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
	    for(int r = 0; r < row; r++){
	      for(int c = 0; c < column; c++){
	        if(calendar.get(Calendar.MONTH) == month){
	          days[r][c] = calendar.get(Calendar.DAY_OF_MONTH);
	        } else days[r][c] = null;        
	        calendar.add(Calendar.DAY_OF_YEAR, 1);
	      }
	    }
	  }
	  
	  public Object getValueAt(int rowIndex, int columnIndex){
	    return days[rowIndex][columnIndex];
	  }
	  
	  public Class getColumnClass(int columnIndex){
	    return Integer.class;
	  }
	  
	  public int getRowCount(){
	    return row;
	  }
	  
	  public int getColumnCount(){
	    return column;
	  }
	  
	  public String getColumnName(int columnIndex){
	    return dayNames[columnIndex];
	  }
	  
	  public static void main(String[] args){
	    Task5 model = new Task5(2013, Calendar.AUGUST);
	    JFrame frame = new JFrame();
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.getContentPane().add(new JScrollPane(new JTable(model)));
	    frame.pack();
	    frame.setLocationRelativeTo(null);
	    frame.setVisible(true);
	  }
}
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38354512
base2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leyla89Как теперь убрать сб и вс?
Не класть их туда
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38354968
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй библиотеку JodaTime
Что-то типа:
if(myDate.getDayOfWeek()<=5) {
Add to collection....
}
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38354988
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulTПопробуй библиотеку JodaTime
Что-то типа:
if(myDate.getDayOfWeek()<=5) {
Add to collection....
}
В некоторых странах неделя начинается в воскресенье. Поэтому лучше явно указывать. Если суббота\воскресенье одна логика, если остальные - другая.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38355106
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВ некоторых странах неделя начинается в воскресенье. Поэтому лучше явно указывать. Если суббота\воскресенье одна логика, если остальные - другая.
А в некоторых пятница - выходной :-)
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38355586
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickА в некоторых пятница - выходной :-)
В Израеле?
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38355662
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJulTПопробуй библиотеку JodaTime
Что-то типа:
if(myDate.getDayOfWeek()<=5) {
Add to collection....
}
В некоторых странах неделя начинается в воскресенье. Поэтому лучше явно указывать. Если суббота\воскресенье одна логика, если остальные - другая.
Если задача промышленная, то еще надо про праздники помнить. Но это, похоже, учебная задача.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38355775
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvЕсли задача промышленная, то еще надо про праздники помнить. Но это, похоже, учебная задача.
Если задача промышленная, то весьма рекомендуется сделать свой собственный календарь.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38355823
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leyla89Построить список, содержащий все дни недели для любого месяца в любом году. Суббот и воскресений не должно быть в этом списке
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public static List<Date> getWeekDays(int year, int month) {
	List<Date> weekDays = new ArrayList<>();
	Calendar calendar = Calendar.getInstance();
	calendar.set(year, month, 1);
	int max = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
	while (--max >= 0) {
		switch (calendar.get(Calendar.DAY_OF_WEEK)) {
		case Calendar.MONDAY:
		case Calendar.TUESDAY:
		case Calendar.WEDNESDAY:
		case Calendar.THURSDAY:
		case Calendar.FRIDAY:
			weekDays.add(calendar.getTime());
			break;
		}
		calendar.add(Calendar.DAY_OF_MONTH, 1);
	}
	return weekDays;
}
...
getWeekDays(2013, Calendar.AUGUST);
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38356042
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeGarrickА в некоторых пятница - выходной :-)
В Израеле?
Нет, у них - суббота. Пянтица - выходной день во многих мусульманских странах, в том же Египте, например. И, кстати, первым днём недели там считается суббота. Так что поставновка задания "Дни недели без выходных" без привязки к конкретному географическому региону или даже стране некорректна.
...
Рейтинг: 0 / 0
Дни недели без выходных
    #38356996
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickТак что поставновка задания "Дни недели без выходных" без привязки к конкретному географическому региону или даже стране некорректна.Делов-то ...
Всё, что не задано в условиях, трактуется в сторону упрощения. Поэтому субботы-воскресенья и никаких египтов с праздниками.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Дни недели без выходных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]