3 / 3 / 0
Регистрация: 30.07.2014
Сообщений: 12

Реализация работы с классами, конструктор, методы класса и переменные класса

30.07.2014, 12:52. Показов 1676. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, решил изучать Java. Нашел прикольное задание : Реализовать класс, представляющий собой строку фиксированной длины - FixedString.
Имеется в виду, ты можешь менять символы строки на определенных позициях, но не можешь менять
длину же строки, добавляя или удаляя символы из него.

1.Сам класс должен хранить символы как массив из char элементов - char [] characters.
2.Клас имеет иметь такие конструкторы:

*** FixedString () - то есть создаешь пустую строку
*** FixedString (char [] characters) - создаешь строку на основе символов в массив char [] characters, передаваемые в качестве аргумента. Длина строки, должно быть равно соответственно к-е элементов в этом массиве.
*** FixedString (char [] characters, int offset, int length) - создаешь строку на основе символов в массив
****** char [] characters, при этом символы из этого массива берутся почнаючы с позиции offset. Аргумент ф-й length задает кол-во элементов, которую
****** ты хочешь считать из массива.

*** например,
**
****** char alphabet [] = {'a', 'b', 'c', 'd', 'e', 'f', 'g'}; / / Имеет 7 символов
*****
****** FixedString str1 = new FixedString (); / / Имеет 0 символов, пустая строка
****** FixedString str2 = new FixedString (alphabet); / / Имеет 7 символов "abcdefg"
****** FixedString str3 = new FixedString (alphabet, 1, 3); / / Имеет 3 символы начиная с индекса 1 "bcd"

3. Класс имеет ф-ю int length (), которая возвращает кол-во элементов в строке.
*** Как ты видишь, мы только ф-ю, которая дает возможность прочитать кол-во элементов элементов в строке.
*** У нас нет ф-й, которая бы давала возможность изменять кол-во элементов в строке.

4. Класс имеет ф-ю boolean isEmpty (), которая возвращает истинную / недостаток когда строка пустой.
5. Класс имеет ф-ю char charAt (int index), которая возвращает символ с позицией index.
6. Класс имеет ф-ю void setCharAt (int index, char ch), которая записывает новый символ ch, на позицию index.


Подскажите нормальные книги, сайты где эта тема розписываеться нормально чтобы реализовать это задание

Спасибо )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2014, 12:52
Ответы с готовыми решениями:

Конструктор класса не видит конструктор по умолчанию другого класса
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

Закрыть все переменные класса и добавить методы доступа к ним
Привет ребят помогите пожалуйста, создал класс открытый, нужно закрыть все переменные и создать функцию с помощью которой можно будет...

Стоит ли делать все методы и переменные-члены класса list статическими
Сделал класс list(знаю, что существует уже этот stl контейнер, просто сделал для себя), стоит ли делать все его методы и переменные-члены...

7
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
30.07.2014, 13:09
Цитата Сообщение от pashkevych Посмотреть сообщение
Подскажите нормальные книги, сайты где эта тема розписываеться нормально
какая тема?
0
3 / 3 / 0
Регистрация: 30.07.2014
Сообщений: 12
30.07.2014, 13:37  [ТС]
KEKCoGEN, работы с классами, конструктор, методы класса и переменные класса
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
30.07.2014, 14:57
pashkevych, эта тема объясняется в любой книге для новичков.
Список литературы
Литература по Java
0
3 / 3 / 0
Регистрация: 30.07.2014
Сообщений: 12
01.08.2014, 09:49  [ТС]
Сделал 4 задания , 5 и 6 незнаю как сделать (( Подкиньте идею...
5. Класс имеет ф-ю char charAt (int index), которая возвращает символ с позицией index.
6. Класс имеет ф-ю void setCharAt (int index, char ch), которая записывает новый символ ch, на позицию index.
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
package fixedstringapp;
public class FixedStringApp 
{
    public static void main(String[] args) 
    {
        char alphabet[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g'};
        
        FixedString str1 = new FixedString();
        System.out.println(str1.isEmpty());
        System.out.println(str1.length());
        str1.print();
        
        FixedString str2 = new FixedString(alphabet);
        System.out.println(str2.isEmpty()); 
        System.out.println(str2.length());
        str2.print();
        
        FixedString str3 = new FixedString(alphabet, 3, 3);
        System.out.println(str3.isEmpty());
        System.out.println(str3.length());
        str3.print();
    }
    
}
]
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
package fixedstringapp;
 
 
public class FixedString 
{
    public FixedString() 
    {
        this.characters = null;
    }
    public FixedString(char[] characters) 
    {
        this.characters = new char[characters.length];
        for (int index = 0; index < this.characters.length; ++index)
        {
            this.characters[index] = characters[index];
        }
    }
    public FixedString(char[] characters, int offset, int length) 
    {
        this.characters = new char[length];
        for (int index = 0; index < this.characters.length; ++index)
        {
            this.characters[index] = characters[index + offset];
        }
        
    }
    public int length() 
    {
        if (this.isEmpty()) 
            return 0;
        else
            return this.characters.length;
    }
    
    public boolean isEmpty() 
    {
        if (this.characters == null)
            return true;
        else
            return false;
    }
   
    public void print() 
    {
        if (!this.isEmpty()) 
        {
            for (int index = 0; index < this.characters.length; ++index) 
                System.out.print(this.characters[index]);
            System.out.println();
        }
    }
    private char[] characters;
}
0
8 / 8 / 5
Регистрация: 20.10.2013
Сообщений: 49
02.08.2014, 02:21
Хм, странно, что 5 и 6 затрудняют.

Вот вроде пятый пункт. Только когда вызываешь метод, надо заключать его в блок try-catch
Java
1
2
3
public char charAt(int index) throws IOException{
return this.characters[index];
}
A вот, должно быть, шестой.
Java
1
2
3
void setCharAt (int index, char ch) throws IOException{
this.characters[index] = ch;
}
Может я чего-то недопонял в данном задании, но проще быть не может.
0
3 / 3 / 0
Регистрация: 30.07.2014
Сообщений: 12
02.08.2014, 07:43  [ТС]
спасибо, но я сделал уже )
Java
1
2
3
4
5
6
7
8
public char charAt(int index)
    {
        return this.characters[index];
    }
    public void setCharAt(int index, char ch)
    {
        this.characters[index] = ch;
    }
Да все верн там очень просто, я что то тупану сначала)
0
3 / 3 / 0
Регистрация: 30.07.2014
Сообщений: 12
03.08.2014, 23:27  [ТС]
С другим заданием проблемы: Написать функцию FixedString trim () которая возвращает новую строку, в котором отброшены пробелы в начале и в конце строки
имеется в виду с " блабла "получить "блабла" Написал как думаю, но неверно, наведите на верную мысль
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 public FixedString trim()
    {
        char[] temp = new char[this.length()];
        for (int index = 0; index < temp.length; ++index)
        {
            if (this.charAt(index) == ' ')
                temp[index] = this.charAt(index);
            
        }
 
        
        return new FixedString(temp);  
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2014, 23:27
Помогаю со студенческими работами здесь

Как создать объект класса и использовать его методы, если уже был определен конструктор
Вот код, в нем есть конструктор public Tmas(string path). namespace lab4_OOP { class Tmas { public int a {...

Конструктор внутри класса, поля которого являются членами другого класса
Вот фрагмент кода. class Class_Figure { Class_Triangle tr1; Class_Circle cr1; public: Class_Figure() { } void...

Передача управления из конструктора класса-родителя в конструктор класса-потомка
Здравствуйте. Возможно ли передать управление из конструктора класса-родителя в конструктор класса-потомка? Например, есть класс...

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний треугольник.В конструкторе треугольника вводятся...

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru