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

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

29.05.2022, 22:15. Показов 2252. Ответов 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
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 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
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 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
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru