Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300

Записать list в массив

29.05.2022, 22:15. Показов 2103. Ответов 44

Студворк — интернет-сервис помощи студентам
здравствуйте. у меня такая проблема. мне нужно записать мои листы в двумерный массив для того, чтобы построить график. есть код, который это всё делает. для самопроверки я решила вывести координаты х и у, что они показывают и выходит это:
ожидаемый результат:
Java
1
2
3
4
5
6
х 1
у 120
х 2
у 105
х 3
у 180
и т.д. (всего должно быть 30)
а выводит так:
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
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 120
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 105
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
x 1
y 180
то есть каждую запись по 30 раз.

помогите понять в чём ошибка и как её исправить.

код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
for (Object ob : list) {
                    for (Object o : list1) {
                        int[][] dot = new int[30][2];
                        for (int id = 0; id < list.size(); id++)
                            dot[id] = new int[]{(int) ob, (int) o};
                        g2.setColor(Color.black);
                        for (int[] crntDot : dot) {
                            g2.drawRect(crntDot[0], crntDot[1], 3, 3);
                            System.out.println("x " + crntDot[0]);
                            System.out.println("y " + crntDot[1]);
                        }
                    }
                }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2022, 22:15
Ответы с готовыми решениями:

как записать list <Object> в массив double [][] java
у меня имеется некий список, в который записываются значений из определённого диапазона таблицы. мне нужно эти значения записать в массив...

Как с Checked list box записать данные в массив?
Такая задача в Checked list box есть 30 чисел, нужно записать выбранные элементы в двухмерный массив(размер массива не указан), что бы...

Как в List записать массив и потом взять его по элементно?
Предположим есть пара переменных (может и больше, но число их известно заранее), а вот число этих пар неизвестно необходимо записать в лист...

44
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 14:27
Студворк — интернет-сервис помощи студентам
ValentinaVal20, если даже ты не понимаешь, что и где в твоем коде, то другим то куда
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 14:46  [ТС]
xoraxax, я всё понимаю
0
2285 / 1601 / 400
Регистрация: 26.06.2017
Сообщений: 4,744
Записей в блоге: 1
01.06.2022, 16:16
ValentinaVal20, я устал разбираться что там у Вас накручено, поэтому примерный подход к реализации такой.
Java
1
2
3
4
5
6
7
8
9
10
11
12
int scaleY = Ymax / (gridHeight - yn - 10) // коэффициент масштабирования по оси Y, 
        // здесь Ymax - максимальное значение в диапазоне выводимых значений списка list1
        int scaleX = Xmax / (gridWidth  - xn - XPEH3HAET) // коэффициент масштабирования по оси X, 
        // здесь Xmax - максимальное значение в диапазоне выводимых значений списка list
        //рисование точечного графика
        int[][] dot = new int[list.size()][2]; // массив для текущей точки
        int coordY, coorX; //новые координаты X и Y приведённые к масштабу графика
        for (int id = 0; id < list.size(); id++) { 
            coordX = xn + gridWidth - (int) (list.get(id)/scaleX) - отступ_графика_справа;// координата X
            coordY = yn + gridHeight - (int) (list1.get(id)/scaleY) - отступ_графика_снизу;// координата Y
            g2.drawRect(coordX, coordY, 2, 2);
        }
Вообще все эти: kol, xn, yn и прочие отступы, шрифты надписей, размеры рисуемых точек, цвет заливки и т.д. и т.п. должны быть сделаны свойствами класса ex. Всё таки это ООП.

Добавлено через 53 секунды
И ещё, если это Ваш код, а не содранный с простор интернета, то Вы должны в нём хорошо ориентироваться.
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 19:26  [ТС]
Цитата Сообщение от Uswer Посмотреть сообщение
coordX = xn + gridWidth - (int) (list.get(id)/scaleX) - отступ_графика_справа;// координата X
            coordY = yn + gridHeight - (int) (list1.get(id)/scaleY) - отступ_графика_снизу;// координата Y
а что здесь значит отступ графика справа и снизу? и в scaleX что Вы передаёте?
0
2285 / 1601 / 400
Регистрация: 26.06.2017
Сообщений: 4,744
Записей в блоге: 1
02.06.2022, 00:15
Цитата Сообщение от ValentinaVal20 Посмотреть сообщение
в scaleX что Вы передаёте?
Давайте разберёмся с этим раз и навсегда. Итак, у Вас есть набор координат по оси Х и по оси Y. Эти координаты могут быть получены как угодно и значения их могут быть сколь угодно большими, для примера по оси Y это может быть такой набор: 80, 531, 367, 2098, 6099. Как видите не все величины можно отобразить на экране (его разрешения просто не хватит). Т.е. все эти координаты нужно привести к размеру области их отображения. Для этого нужно найти коэффициент масштабирования. Это делается простым делением: коэффМасштабирования=МаксКоордината/ВысотаОбластиРисования. Для этого вычисления необходимо найти самую большую координату и размер области рисования по вертикали. Вот и всё.
Найти максимальное значение исходных координат не составляет проблемы, однако саму ВысотуОбластиРисования также нужно вычислять, т.к. у Вас есть отступы графика от краёв панели. Я Вам настоятельно рекомендую вынести в отдельный метод нахождение размера чистого поля для рисования, а то у Вас в коде жёстко заданы некоторые величины и понять что, где сложно.
После нахождения коэффМасштабирования (в нашем примере это scaleY) отображение координат будет предельно простым: coordY = отступ_области_рисования_сверху + размер_области_рисования - (координата/scaleY) - отступ_области_рисования_снизу; Все эти отступы нужно оформить как свойства класса. И различные вспомогательные вычисления тоже выделять в отдельные функции. Так код будет читабельным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2022, 00:15
Помогаю со студенческими работами здесь

Записать в файл по очереди элементы List<string> и List<char>
У меня есть List с string элементами и есть List с char элементами. Как сделать чтобы у файл записывались последователь сначало string...

Как пройти по List, отыскать дубликаты и записать их в другой List?
Добрый вечер, у меня есть List из 10 элементов, мне необходимо найти в нем все повторяющиеся элементы и записать в другой List. Если вместо...

Записать в файл list (очередь) объектов, в которых содержатся строки string, и считать с файла обратно в list
Извините подскажите пожалуйста, как записать list(очередь) объектов в которых содержаться string, и считать с файла обратно в list;...

Как записать List точек (TwoPoint) в массив точек и передать в FillPolygon?
Есть List точек (TwoPoint). В нем хранятся точки. Мне надо эти точки записать из List в массив точек и передать в FillPolygon. Как это...

из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все остальные символы записать в массив S
Привет всем.Помогиет пожалуйста решить задачку из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru