Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75

Вывод имени объекта в ShowMessageDialog

28.10.2013, 14:18. Показов 2741. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

У меня есть набор из десятка объектов,которые являются имитацией моей БД телефонов и мне необходимо в несколько шагов отбросить неподходящие по некоторым критериям,например сначала убрать дорогие(параметр 1),потом с широким дисплеем(параметр 2) и т.д.,возник вопрос по поводу вывода. Хочу попробовать вывести в ShowMessageDialog имена телефонов прошедших фильтрацию,но получаю пустую строку внутри окошка.Вот как примерно выглядит реализация
Java
1
2
3
4
5
6
Telefon t1 = new Telefon();
         
        if(t1.GetPrise()>1500)
        {  
        JOptionPane.showMessageDialog(rootPane, t1.GetName(),"Рекомендация", JOptionPane.INFORMATION_MESSAGE);
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2013, 14:18
Ответы с готовыми решениями:

Реализация поиска нужного имени в файле и вывод данных, относящихся к этому имени
Доброго времени суток всем! Прошу помощи у более компитентных людей нежели я. Полное задание выглядит так: Разработать программу,...

Вывод на экран имени переменной(имени файла, и тд.)
Здрасти. Недалече столкнулся с проблемой: надо сравнить два файла по признаку количества содержащихся в них символов и вернуть тот что...

Вывод фото из папки объекта, название которой совпадает с ID этого объекта
Д.День. суть вопроса такая есть путь в корне CMS images/objects_db/xxxxA где xxxxA это папки (создаваемые сторонним софтом) с...

12
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 15:20
А как Вам удалось создать объект t1 непараметризованым? В Вашем предыдущем посте конструктор класса Telefon принимал на вход кучу параметров.
0
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 15:32  [ТС]
Создал пустой конструктор в классе
0
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 15:44
Ну если создавать через пустой конструктор, то переменная Name у данного экземпляра получилась пустая и выводить в диалог нечего. Хотя в таком случае и переменная Price должна быть равна нулю и тогда не понятно как прошла проверка на условие, ну это Вам видней.
0
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 15:52  [ТС]
Вот и вопрос,как из другого класса содержащего набор объектов выбрать те,которые соответствуют условию и вывести в окне их имена?
0
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 16:14
Ну например так:
Создать массив объектов типа Telefon, загнать в него все ваши модельки телефонов.
Создать цикл который будет перебирать все элементы этого массива по индексу и каждую проверять на условие.
Если условие выполняется запускать вывод в диалоговое окно.
0
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 16:41  [ТС]
Я пробовал загнать в массивы сами объекты,но как сделать чтобы в цикле перебирались параметры этих объектов я не знаю
0
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 17:01
Хотя нет, в таком случае каждая модель которая прошла условие будет выводится в новом диалоговом окне. Если Вы хотите вывести список всех моделей прошедших условие в одном окне, то надо создать еще один массив стрингов и при выполнении условия в него добавлять уже названия отобранных моделек.
А вывод в диалоговое окно вынести за пределы этого цикла.
0
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 17:06  [ТС]
Суть этого я понял, но как перебирать в цикле именно параметры объектов.Вот я так по деревянному создал массив содержащий объекты,как в цикле перебирать их параметры?
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
Telefon Nokia6233 = new Telefon("Nokia 6233",1600,2,2,false);
   Telefon Nokia300 = new Telefon("Nokia 300",900,3,5,true);
   Telefon SamsungS7500 = new Telefon("Samsung S7500",2000,4,4,true);
   Telefon IPhone5S = new Telefon("IPhone 5S",10000,5,5,true);
   Telefon SamsungS4 = new Telefon("Samsung S4",5000,5,5,true);
   Telefon NokiaC5 = new Telefon("Nokia C5",1300,2.2,3.2,false);
   Telefon NokiaC2 = new Telefon("Nokia C2",700,2,0,false);
   Telefon SonyEricssonK500 = new Telefon ("SonyEricsson K500",600,1.5,2,false);
   Telefon SiemensC62 = new Telefon("Siemens C62",200,1.5,0,false);
   Telefon LGKP500 = new Telefon("LG KP500",700,2.5,2,true);
   Telefon SamsungX700 = new Telefon("Samsung X700",500,1.5,2,false);
   Telefon IPhone4S = new Telefon("IPhone 4S",4500,4.5,5,true);  
   
   public void zap()
   {
   Object[] S = new Object[11];
   S[0]=Nokia6233;
   S[1]=Nokia300;
   S[2]=SamsungS7500;   
   S[3]=IPhone5S;
   S[4]=SamsungS4;
   S[5]=NokiaC5;
   S[6]=NokiaC2;
   S[7]=SonyEricssonK500;
   S[8]=SiemensC62;
   S[9]=LGKP500;
   S[10]=SamsungX700;
   S[11]=IPhone4S;
   }
Допустим,отсеять телефоны дороже 1500,это 2й параметр,ну и так далее?
И как этот массив передать в другой класс?
0
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 18:17
1. Нужно создавать не массив Object'ов, а массив Telefon'ов.
2. По конвенции Oracle методы и переменные нужно именовать с маленькой буквы, поэтому не S, а s. Это же относится к геторам и сеторам. Лучше привыкай сразу.
3. Создаваемый массив состоит из 12 элементов, а не из 11, как было указано в 16 строчке.

Таким образом код будет выглядеть как то так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Telefon [] s = new Telefon[12];
   s[0]=Nokia6233;
   s[1]=Nokia300;
   s[2]=SamsungS7500;   
   s[3]=IPhone5S;
   s[4]=SamsungS4;
   s[5]=NokiaC5;
   s[6]=NokiaC2;
   s[7]=SonyEricssonK500;
   s[8]=SiemensC62;
   s[9]=LGKP500;
   s[10]=SamsungX700;
   s[11]=IPhone4S;
   
   ArrayList<String> niceChoice = new ArrayList<String>(); //Здесь я выбрал ArrayList, а не обычный массив, потому что мы заранее не знаем сколько будет совпадений и не можем предугадать какой размерности создавать массив.
   
   for (int i = 0; i < s.length; i++){
       if (s[i].GetPrise() < 1500){
       niceChoice.add(s[i].GetName());
       }
   }

В результате мы получим ArrayList с названием отобранных телефонов, как его выводить в диалоговое окно уже вторая задача.
1
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 19:30  [ТС]
А как этот список передать в другой класс или как его вызвать в другом классе?Через создание объекта в другом классе у меня не получилось
0
7 / 7 / 4
Регистрация: 21.10.2013
Сообщений: 41
28.10.2013, 19:59
Мы ее там создали внутри метода zap(), а переменные объявленные внутри метода имеют область видимости только в границах своего метода. Нужно вынести ее в тело класса, и тогда можно будет обращаться через создание экземпляра класса.
1
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
28.10.2013, 20:11  [ТС]
Спасибо,я понял,получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2013, 20:11
Помогаю со студенческими работами здесь

Файлы: ввод адреса объекта и вывод данных объекта
Всем привет. Хочу сделать программу, в консоль которой, вводится адрес папки/файла, после чего, консоль выводит данные этого объекта. ...

Есть ли в С++ аналог JOptionPane.showMessageDialog java?
Есть ли в С++ аналог JOptionPane.showMessageDialog java?

Вызов объекта по имени
Пока что я ещё нуб в программировании и много чего не знаю. А ситуация такая. Random rnd = new Random(); У меня имеется 58 кнопок....

Вывод данных вложенного объекта из другого объекта
Добрый День! Хочу в одном объекте вывести текст который находится во вложенном объекте. Помогите ,пожалуйста, понять в чем ошибка. ...

Поиск дочернего объекта по имени
создаются дочерние объекты. как их можно найти их по имени ?


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru