Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2014, 17:11   #1
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию Реализация работы с классами, конструктор, методы класса и переменные класса / Java EE (J2EE)

Всем привет, решил изучать 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.


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

Спасибо )
pashkevych вне форума Ответить с цитированием
Старый 31.07.2014, 17:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Любую книгу по Java для начинающих. J2EE тут совсем не причем.
p51x вне форума Ответить с цитированием
Старый 31.07.2014, 17:40   #3
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Любую книгу по Java для начинающих. J2EE тут совсем не причем.
А какую б вы посоветовали где класно про конструкторы розписано
pashkevych вне форума Ответить с цитированием
Старый 31.07.2014, 18:52   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Любую. Можно даже в книге про С++ посмотреть, а в Java синтаксис. Что вы в этой задаче такого сложно в конструкторе увидели? Или просто не знаете, что это такое?
p51x вне форума Ответить с цитированием
Старый 31.07.2014, 19:29   #5
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

я новичок, и незнаю что это такое)
pashkevych вне форума Ответить с цитированием
Старый 31.07.2014, 19:58   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

pashkevych я вам рекомендую почитать Эккеля "Философия Java".
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 01.08.2014, 09:48   #7
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Сделал 4 задания , 5 и 6 незнаю как сделать (( Подкиньте идею...
5. Класс имеет ф-ю char charAt (int index), которая возвращает символ с позицией index.
6. Класс имеет ф-ю void setCharAt (int index, char ch), которая записывает новый символ ch, на позицию index.
PHP код:
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(alphabet33);
        
System.out.println(str3.isEmpty());
        
System.out.println(str3.length());
        
str3.print();
    }
    

PHP код:
package fixedstringapp;


public class 
FixedString 
{
    public 
FixedString() 
    {
        
this.characters null;
    }
    public 
FixedString(char[] characters
    {
        
this.characters = new char[characters.length];
        for (
int index 0index this.characters.length; ++index)
        {
            
this.characters[index] = characters[index];
        }
    }
    public 
FixedString(char[] charactersint offsetint length
    {
        
this.characters = new char[length];
        for (
int index 0index 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 0index this.characters.length; ++index
                
System.out.print(this.characters[index]);
            
System.out.println();
        }
    }
    private 
char[] characters;

pashkevych вне форума Ответить с цитированием
Старый 01.08.2014, 12:42   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сделал 4 задания , 5 и 6 незнаю как сделать (( Подкиньте идею...
5. Класс имеет ф-ю char charAt (int index), которая возвращает символ с позицией index.
6. Класс имеет ф-ю void setCharAt (int index, char ch), которая записывает новый символ ch, на позицию index.
Вы шутите? А иначе как вы остальное написали?
5. проверяем, что переданный индекс входит в допустимый интервал и возвращаем нужный элемент из вашего массива
6. проверяем, что переданный индекс входит в допустимый интервал и устанавливаем нужный элемент из вашего массива
p51x вне форума Ответить с цитированием
Старый 01.08.2014, 14:04   #9
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы шутите? А иначе как вы остальное написали?
5. проверяем, что переданный индекс входит в допустимый интервал и возвращаем нужный элемент из вашего массива
6. проверяем, что переданный индекс входит в допустимый интервал и устанавливаем нужный элемент из вашего массива
так?
PHP код:
public char charAt (int index)
    {
        if (
this.characters[index] < this.characters.length)
            return 
characters[index];
        
    }
 public 
void setCharAt(int indexchar ch)
    {
        if (
this.characters[index] < this.characters.length)
            return ????
    } 
6 задания я так и не понял как решить((( Можете показать как 6 сделать ?
pashkevych вне форума Ответить с цитированием
Старый 01.08.2014, 14:36   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
if (this.characters[index] < this.characters.length)
Прочитайте, что вы написали! Если ... и подумайте, что вы хотели сравнить.

Код:
 return ????
Какой return? Вы же написали, что функция "ничего" не возвращает...

Цитата:
6 задания я так и не понял как решить((( Можете показать как 6 сделать ?
Прям как написано. Взять из вашего приват массива элемент с индексом index и присвоить ему значение ch
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java!В программе создать одиночные объекты и массив объектов класса и вызвать методы. Andros96 Помощь студентам 0 17.11.2013 15:41
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса Jugger Помощь студентам 3 05.01.2012 04:10
Переменные экземпляра,класса, константы и переменные cop08 Общие вопросы .NET 3 20.12.2010 21:56
Конструктор класса XPAiN Общие вопросы Delphi 2 24.01.2010 15:00
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54