Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19

Наследование

26.12.2011, 23:32. Показов 2542. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста написать тестовую программу для задачи, код классов прилагается, заранее благодарю:

Описать базовый класс СТРОКА (Stroka.java).
Обязательные поля класса:
указатель на char — хранит адрес динамически выделенной памяти для размещения символов строки;
значение типа int — хранит длину строки в байтах.
Обязательные методы должны выполнять следующие действия:
конструктор без параметров;
конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом);
конструктор, принимающий в качестве параметра символ;
конструктор копирования;
получение длины строки;
очистка строки (сделать строку пустой);
деструктор.

Описать производный от СТРОКА класс ДЕСЯТИЧНАЯ_СТРОКА (DecimalString.java).
Строки данного класса могут содержать только символы десятичных цифр и символы – и +, задающие знак числа. Символы – или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ДЕСЯТИЧНАЯ_СТРОКА принимает нулевое значение. Содержимое данных строк рассматривается как десятичное число.
Обязательные методы:
конструктор без параметров;
конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом);
конструктор копирования;
деструктор;
метод, определяющий, можно ли представить данное число в формате int;
Переопределить следующие операции:
присваивание (=);
вычитание (–) — арифметическая разность строк;
операция > — проверка на больше (по значению);
операция < — проверка на меньше (по значению);
Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.

Написать тестовую программу, которая:
- динамически выделяет массив указателей на базовый класс (4–6);

- в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений;

- для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей.

Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса).
Режим диалога обеспечивается с помощью иерархического меню.
Вложения
Тип файла: rar Inh.rar (11.9 Кб, 53 просмотров)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2011, 23:32
Ответы с готовыми решениями:

Наследование
Дано public class A { int i,j; public A (int a, int b) { i =a; j = b; } void show(){ ...

Наследование
Привет) Почему метод show из EvenOdd возращает нули а не значение массива суперкласса? import java.util.*; public class...

Наследование
ребят помогите понять логику Задача: Посчитать площадь и периметр фигур. Есть типы Фигура - Круг - Квадрат - Прямоугольник -...

11
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
27.12.2011, 01:05
Цитата Сообщение от JPX Посмотреть сообщение
указатель на char — хранит адрес динамически выделенной памяти для размещения символов строки;
глядя на этот пункт у меня закрадывается подозрение что эта задача из c++
и этот пункт это подтверждает => "конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом);",
а в коде странновато, создаём класс Stroka, но внутри используем готовый String - какое-то масло маслянное получается, вы уверенны что вам в java дали задание?

на java похожего плана задача должна базироваться либо на массиве примитивов char, либо на массиве Character
2
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.12.2011, 02:33
mutagen, вас только это смущает? Два варианта - или это копипаст задания с учебника по С++, но которое надо реализовать на Java, или ТС ошибся адресом. Скорее всего первое, т.к. перегрузок в Java нету

Цитата Сообщение от JPX Посмотреть сообщение
Переопределить следующие операции:
присваивание (=);
вычитание (–) — арифметическая разность строк;
операция > — проверка на больше (по значению);
операция < — проверка на меньше (по значению);
Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов.
, а в задании указаны имена файлов для Java
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
27.12.2011, 02:48
Цитата Сообщение от M128K145 Посмотреть сообщение
mutagen, вас только это смущает?
я задание дальше читать не стал ))) мне хватило того смущения что я описал )))
1
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19
27.12.2011, 11:08  [ТС]
Да вы правы задача из С++, но нужно ее реализовать в java, а какие пункты нельзя реализовать, опущены.
1
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
27.12.2011, 11:38
Цитата Сообщение от JPX Посмотреть сообщение
Да вы правы задача из С++, но нужно ее реализовать в java, а какие пункты нельзя реализовать, опущены.
При этой постановке задачи, это невозможно. Но если интересна сама идея написания подобного класса, то можно посмотреть исходники java.lang.String.
1
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19
27.12.2011, 11:42  [ТС]
Что не возможно? два класса уже реализованы, мне нужно только тестовую прогу.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
27.12.2011, 12:35
Так как описано в требованиях эти классы не реализованы. Потом по условиям должен быть конструктор на основе null-terminated с-сторок, как на java получить такую строку?
деструктор? Как в java создать массив указателей, если там только ссылки?
В общем такой тест-кейс как описан в условии в принципе невозможен в java, попробуйте уточнить задание, может всётаки ошибка.
1
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19
28.12.2011, 22:06  [ТС]
Не углубляйтесь вы в задание для классов, мне нужно только тестовую прогу...
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
28.12.2011, 22:45
Цитата Сообщение от JPX Посмотреть сообщение
Написать тестовую программу, которая:
- динамически выделяет массив указателей на базовый класс (4–6);
Дружище, как бы мы не хотели тебе помочь, но в java нет указателей
1
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19
29.12.2011, 18:26  [ТС]
В общем теперь мне нужно реализовать проверку на то введено ли десятичное число, а непустая строка или буквы.
Вложения
Тип файла: rar Inh.rar (16.7 Кб, 21 просмотров)
1
11 / 11 / 0
Регистрация: 23.08.2011
Сообщений: 19
29.12.2011, 22:51  [ТС]
Тема закрыта, всем спасибо!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2011, 22:51
Помогаю со студенческими работами здесь

Наследование
Нужно выполнить задание : Построить иерархию классов для калькуляторов с разной функциональностью. Простой калькулятор – выполняет 4...

Наследование
Всем привет! По книге выполняю примеры. Вот простейшая программа про наследование: Пишу в Eclipse. package ExpClass; class...

Наследование
Дан базовый класс Чиновик и наследники Депутат, Мер, Президент. У базовогокласса есть абстрактный метод “брать взятку” принимающий...

Наследование
Запутался с наследованием и с переменными , помогите всё расставить по местам : Вот то что получилось пока что ... public...

Наследование
Здравствуйте, помогите пожалуйста начинающему программисту! Решил попытаться освоить Java и столкнулся с такой проблемой при компилировании...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru