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

Массив объектов

09.12.2019, 21:07. Показов 1483. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Вот я создаю некий класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Ob{
    static double m, r, x, y, sN, sS, sNnap, sSnap, Fr;
    static ArrayList<Double> F = new ArrayList<>();
    static ArrayList<Double> Fnap = new ArrayList<>();
    
    static int c1 = (int)(Math.random()*255);
    static int c2 = (int)(Math.random()*255);
    static int c3 = (int)(Math.random()*255);
    static Color col = new Color(c1, c2, c3);
    
    public Ob() {
        
    }
}
а потом в другом классе JPanel создаю динамический массив, в который помещаю экземпляры класса с их значениями:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int n = 0;
    ArrayList<Object> obMas = new ArrayList<>();
    public class myMouse implements MouseListener{ 
        public void mouseClicked(MouseEvent e) {
            Ob ob = new Ob();
            ob.m = 1;
            ob.r = 1;
            ob.x = e.getX();
            ob.y = e.getY();
            ob.sN = 3;
            ob.sNnap = 0.4;
            obMas.add(ob);
            System.out.println();
            n++;
        }
        public void mouseEntered(MouseEvent e) {}
        public void mouseExited(MouseEvent e) {}
        public void mousePressed(MouseEvent e) { }
        public void mouseReleased(MouseEvent e) {}
    }
а после этого мне необходимо как-то получать и менять значения этих объектов, но как это сделать? Такой вариант не подходит:
Java
1
System.out.println(obMas.get(n).m);
возникает ошибка, но ведь это тот же объект или нет? как это решить?
Заранее извиняюсь если пишу какую-то глупость
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2019, 21:07
Ответы с готовыми решениями:

Массив объектов
почему static Dogs sobaka = new Dogs; sobaka.newDogs(1); выдает Exception in thread &quot;main&quot; java.lang.NullPointerException at...

Из массива объектов в массив примитивов
Здравствуйте, необходимо решить следующую задачу: У меня имеется простой класс Point с двумя параметрами — double x и double y; Есть...

Json по URL, массив объектов
Нужно получить массив объектов, по URL Классы, для хранения этих объектов я уже подготовил! Так, же я установил...

4
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
09.12.2019, 21:21
Logoqaz, откудово вы узнали про красивый способ обявления полей классов с static?

Добавлено через 4 минуты
Цитата Сообщение от Logoqaz Посмотреть сообщение
ArrayList<Object> obMas = new ArrayList<>();
нет смысла приводить к Object
и зачем явно использовать ArrayList, если понятнее будет просто List

Цитата Сообщение от Logoqaz Посмотреть сообщение
obMas.get(n)
вы берете элемент на голову выше чем нужно. Уменьшите его значение хотя-бы на 1
0
0 / 0 / 1
Регистрация: 24.02.2019
Сообщений: 34
09.12.2019, 22:22  [ТС]
Цитата Сообщение от sdasdaw Посмотреть сообщение
вы берете элемент на голову выше чем нужно. Уменьшите его значение хотя-бы на 1
Почему? вроде значение n совпадает с номером элемента массива, иначе ничего не выводилось бы совсем? Ведь проблему то это не решает, почему я не могу обратиться к элемену массиву как к объекту, чтобы узнать его параметры?

Добавлено через 1 минуту
Цитата Сообщение от sdasdaw Посмотреть сообщение
obMas.get(n)
Вот что выводится в консоль: Ob@325add08
0
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
09.12.2019, 22:28
Лучший ответ Сообщение было отмечено Logoqaz как решение

Решение

Цитата Сообщение от Logoqaz Посмотреть сообщение
вроде значение n совпадает с номером элемента массива
Это хорошо, значит код которого вы тут не предоставили, как-то обрабатывает n.

Цитата Сообщение от Logoqaz Посмотреть сообщение
Вот что выводится в консоль: Ob@325add08
Приведите правильно ArrayList<Ob> и в следующий раз указывайте ошибку в начале темы.
1
0 / 0 / 1
Регистрация: 24.02.2019
Сообщений: 34
09.12.2019, 22:30  [ТС]
sdasdaw, Огромное спасибо, как оказывается всё было просто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2019, 22:30
Помогаю со студенческими работами здесь

Метод возвращает массив объектов
Есть файл формата: aaa;bbb;16.36;: aaa;bbb;52.54;: Разбивается на строки, разделителем :, далее разбивается на три строки...

Создать массив/список объектов и вывести
Подскажите пожалуйста как исправить код. Задание следующее: Airline: Пункт назначения, Номер рейса, Тип самолета, Время вылета, Дни ...

Как сделать чтобы отображался массив из объектов?
Вот сам код. public class ArrayTest { public static void main(String args) { Clinic1 clinic = new Clinic1(3); ...

Как с json сериализовать объект, в которой вложена коллекция или массив других объектов
public class Example{ private List&lt;NestedExample&gt; list; public Example(List&lt;NestedExample&gt; list) { setList(list); ...

Создать массив объектов класса Прямоугольник, вычислить площадь и периметр. Результаты поместить в файл
Описать класс Прямоугольник с методами отображения параметров, конструкторами без параметров, с параметрами, методом вычисления площади...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru