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

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

29.05.2022, 22:15. Показов 2256. Ответов 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
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
31.05.2022, 09:42  [ТС]
Студворк — интернет-сервис помощи студентам
Uswer, А как мне можно подписать оси с использованием коэффициента? Если будет много значений, то поделить на количество линий сетки (у меня это 10)?
0
1215 / 783 / 130
Регистрация: 10.03.2012
Сообщений: 5,047
31.05.2022, 10:39
Цитата Сообщение от Uswer Посмотреть сообщение
извините проверить или исправить код не могу, т.к. у меня нет IDE для Java.
Можно всегда открыть online IDE
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
31.05.2022, 10:47  [ТС]
Whitecolor, не подскажите как можно масштабировать подписи осей х и у? то есть кол-во линий сетки одинаковое, а шаг и подписи меняются
0
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 1
31.05.2022, 13:16
Цитата Сообщение от Whitecolor Посмотреть сообщение
Можно всегда открыть online IDE
Ну это да, вот только писать полностью проект по куску кода да ещё из без понимания основной задачи просто лениво.
0
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 1
01.06.2022, 11:32
Whitecolor, посоветуйте online IDE с возможностью запуска оконных приложений.
0
1215 / 783 / 130
Регистрация: 10.03.2012
Сообщений: 5,047
01.06.2022, 11:56
Цитата Сообщение от Uswer Посмотреть сообщение
посоветуйте online IDE с возможностью запуска оконных приложений.
Таких не знаю, использую только для вывода в консоль
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 12:02  [ТС]
Whitecolor, не подскажите, пожалуйста, почему точки на графике не совпадают с координатами? как бы совпадают, но на сетке нет
первая точка 1;120
последняя точка должна быть 30;450. они как-то съезжают со своих координат в середине
Миниатюры
Записать list в массив  
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 12:48
ValentinaVal20, видимо умножить надо на шаг сетки
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 12:59  [ТС]
xoraxax, а как? я просто не пойму. можете подсказать по моему коду?

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
class ex extends JPanel {
            protected void paintComponent(Graphics gh) {
                List <Object> list = getValueFromColumnByRow(0);
                List <Object> list1 = getValueFromColumnByRow(1);
                List <Object> list2 = getValueFromColumnByRow(2);
                int H, W, h, w, s = 70;//параметры области отображения графика
                H = getHeight();
                W = getWidth();
                h = H - 2 * s;//фактические размеры области отображения графика
                w = W - 2 * s;
                Graphics2D g2 = (Graphics2D) gh;
                Dimension d = getSize();
                int kol = 15;//количество линий сетки
                float gridWidth = d.width * 0.9f, gridHeight = d.height * 0.8f;//размеры области построения графика
                float xn = 50, yn = 90;//начальные точки области построения графика
                g2.setPaint(Color.black); //рисуем прямоугольник
                GradientPaint gp = new GradientPaint(200, 200, Color.white, 600, 600, Color.green); //градиентная заливка
                g2.draw(new Rectangle2D.Double(10, 40, d.width - 20, d.height - 50)); //прямоугольник
                g2.setPaint(gp);
                g2.fill(new Rectangle2D.Double(xn, yn, gridWidth, gridHeight)); //градиентный прямоугольник
                g2.setPaint(Color.black);
                g2.draw(new Rectangle2D.Double(xn, yn, gridWidth, gridHeight));
                g2.setPaint(Color.black);//рисуем сетку
                float n = gridHeight / kol, m = gridWidth / kol;//размер сетки
                for (int i = 1; i < kol; i++) {
                    g2.draw(new Line2D.Double(xn, n * i + yn, gridWidth + xn - 10, n * i + yn)); //горизонтальная
                    g2.draw(new Line2D.Double(m * i + xn, yn, m * i + xn, gridHeight + yn)); }//вертикальная
                g2.setPaint(Color.black);//оси
                g2.setStroke(new BasicStroke(3));
                g2.draw(new Line2D.Double(xn, n * kol + yn, gridWidth + xn, n * kol + yn)); //горизонтальная ось
                g2.draw(new Line2D.Double(xn, yn, xn, gridHeight + yn)); //вертикальная ось
                int l = list.size();//длина номер по порядку
                int l2 = list2.size();//длина вариационного ряда
                int Xmax = (int) list.get((l - 1));//максимальный элемент номер по порядку
                int Ymax = (int) list2.get(l2 - 1); //максимальное значение вариационного ряда
                int Xmin = 0;
                int Ymin = 0;
                for(int k=0;k<=kol;k++){// разметка и подпись оси Х
                    g2.drawLine((int)xn + k * w/kol,(int)xn + h + 35,(int)xn + k * w/kol,(int)(xn + h + 7)+35);
                    g2.drawString(String.valueOf((Xmin + k * (Xmax - Xmin)/kol)),s + k * w/kol - 20,s + h + 35);}
                for(int i = 1; i <= kol; i++){//разметка и подпись оси У
                    g2.drawLine((int)xn - 5,(int)xn + i * h/kol,(int)xn,(int)xn + i * h/kol);
                    g2.drawString(String.valueOf(Ymin + i * (Ymax - Ymin)/kol),xn - 35,s + h - 1 - i * h/kol + 25); }//подпись вертикальной оси
                g2.setColor(Color.black);
                int[][] dot = new int[list.size()][2];//рисование точечного графика
                for (int id = 0; id < list.size(); id++) { //проверка, что размерность list1 не меньше размерности list
                    int coordY = (int) (gridHeight - 1 - (int) list1.get(id));//новые координаты Y
                    dot[id] = new int[]{(int) list.get(id), coordY};
                    g2.drawRect((int) ((dot[id][0] + 1.3) *(Xmax-Xmin)*1.3), (int) (coordY*0.5*kol/6.5), 2, 2);
                }
            }
        }
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 13:02
ну у тебя есть числа 1,2,3, каждое число занимает 5 точек, умножаем, получается 5,10,15, не?
0
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 1
01.06.2022, 13:03
Цитата Сообщение от Whitecolor Посмотреть сообщение
Можно всегда открыть online IDE
Whitecolor, зачем тогда давать такой совет при том что:
Цитата Сообщение от Uswer Посмотреть сообщение
посоветуйте online IDE с возможностью запуска оконных приложений.
Цитата Сообщение от Whitecolor Посмотреть сообщение
Таких не знаю
Если с самого начала темы было понятно, что ТС пишет прогу под формы???
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 13:04  [ТС]
xoraxax, а по моему коду не можете подсказать?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 13:21
ValentinaVal20, нет
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 13:25  [ТС]
xoraxax, а то что числе занимает 5 точек это вы написали просто например?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 13:33
ValentinaVal20, а как ты думаешь?
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 13:36  [ТС]
xoraxax, я просто не пойму, почему у меня сначала идёт все по порядку, а начиная с середины точки съезжают со своих координат
0
2290 / 1606 / 400
Регистрация: 26.06.2017
Сообщений: 4,772
Записей в блоге: 1
01.06.2022, 13:43
Цитата Сообщение от ValentinaVal20 Посмотреть сообщение
а начиная с середины точки съезжают со своих координат
Ещё раз повторяю, что у Вас в коде нет масштабирования координат точек к координатам графика. Плюс ко всему Вы не правильно определяете максимальное значение в списках координат.
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 13:46  [ТС]
Uswer, а как сделать, чтобы было всё правильно? подскажите пожалуйста
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.06.2022, 13:59
ValentinaVal20, подумать, потом написать код
0
0 / 0 / 0
Регистрация: 05.04.2022
Сообщений: 300
01.06.2022, 14:09  [ТС]
xoraxax, ну так у меня уже есть готовый код. можно же как-то в нём исправить? только что и где
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2022, 14:09

Записать в файл по очереди элементы 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 .Все...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. 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
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru