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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2014, 17:48   #41
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

[удалил, тут была неуместная шутка]

Последний раз редактировалось rrrFer; 04.08.2014 в 17:51.
rrrFer вне форума Ответить с цитированием
Старый 04.08.2014, 17:50   #42
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Ржунимагу.
Цитата:
можете хоть сказать что вы пристали к моему созданию масива?
Да потому что ты создаешь массив неправильно. length стопудов возвращает длину. И память выделяется под то количество элементов, которое вернет length. Если он вернет 10 - то под 10 элементов. Если он вернет -42134 (любое отрицательное число) - то программа стопудов упадет.

Дак какое число возвращает length()?
rrrFer вне форума Ответить с цитированием
Старый 04.08.2014, 17:52   #43
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
нене, мне нужны комментарии ко всему коду, а не его хвосту.

Код:
package fixedstringapp; // что такое package?
public class FixedStringApp   // что значит public?
public static void main(String[] args) // почему static? что такое main?
private char[] characters; // а это что такое?

System.out.println(str3.isEmpty()); 
str3.print();
System.out.print(this.characters[index]); 
// чем print оличается от System.out.print и System.out.println?
Ну вот как только будут нормальные ответы (чтоб я поверил что меня не водят за нос) - так сразу подскажу как решается задача.

Пока что кажется, что водят "Сделал 4 задания , 5 и 6 незнаю как сделать" не может этого быть.
а мне нужен мерседес, яхта . Вы хоть один мне подсказали как что то решить нормально? нет. Я всеравно день сиджу и сам роздупляюсь. А писать здесь что водит вас кто то за нос . Ваше право) Я написал что ой зделайте мне задание. Нет .
pashkevych вне форума Ответить с цитированием
Старый 04.08.2014, 17:55   #44
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Все ребят ТАЙМАУТ... Все я с размерами массива больше не лезу.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 04.08.2014, 17:55   #45
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Ржунимагу.

Да потому что ты создаешь массив неправильно. length стопудов возвращает длину. И память выделяется под то количество элементов, которое вернет length. Если он вернет 10 - то под 10 элементов. Если он вернет -42134 (любое отрицательное число) - то программа стопудов упадет.

Дак какое число возвращает length()?
да такое число которое я сам задам,
PHP код:
char alphabet1[] = {' ''a''b''c''d''e','f'' '};
FixedString str4 = new FixedString(alphabet1);
FixedString str14 str4.trim(); 
        
str14.print(); 
тоесть у меня 8 елементов
pashkevych вне форума Ответить с цитированием
Старый 04.08.2014, 17:56   #46
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Вы хоть один мне подсказали как что то решить нормально?
В первом посту вы спрашивали литературу. Вам подсказали книгу Эккеля. Нормально.

Но книга была не нужна, были нужны готовые решения. Ты написал чепопало.

Цитата:
на 15 а у меня автоматически меняеться
Ниче автоматически не меняется. Фантастику читать кончайте.

Книгу начинайте читать с начала, а не с середины. Иначе порядка в голове не будет.
rrrFer вне форума Ответить с цитированием
Старый 04.08.2014, 18:00   #47
pashkevych
Пользователь
 
Регистрация: 03.04.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
В первом посту вы спрашивали литературу. Вам подсказали книгу Эккеля. Нормально.

Но книга была не нужна, были нужны готовые решения. Ты написал чепопало.


Ниче автоматически не меняется. Фантастику читать кончайте.

Книгу начинайте читать с начала, а не с середины. Иначе порядка в голове не будет.
я имел ввиду что length() вызначает размер а 10 это конкретно и в любой момен можно передумать и нужно будет искать этот рядок и менять на больше меньше значение
pashkevych вне форума Ответить с цитированием
Старый 04.08.2014, 18:15   #48
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
public FixedString trim() {
  int nsh = 0, nsh2 = 0;
  int n = characters.length();

  for (int i = 0; i < n; ++i, ++nsh)
    if (characters[i] != ' ')
      break;

  for (int i = nsh; i < n; ++i) 
    characters[i] = characters[i - nsh];
  
  for (int i = n - nsh - 1; i >=0; --i, ++nsh2)
    if (characters[i] != ' ')
      break;
  
  characters[n - nsh - nsh2] = 0;
}
Типа того. 99% не работает. На джаве писал первый раз в жизни ^^. Но суть возможного решения примерно отражает.
rrrFer вне форума Ответить с цитированием
Старый 04.08.2014, 18:53   #49
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Цитата:
я это ж и написал , или я снова туплю?
а теперь прокрутите свой код на строке " с т р о к а " и я уже писал, что с этим кодом не так
p51x вне форума Ответить с цитированием
Старый 05.08.2014, 22:20   #50
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Немного поковырялся с Вашим заданием....
Кое-что вроде получилось.... Итог 2-а файла:
Main.java
Код:
public class Main {
    public static void main(String[] args) {
        char[] ch = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'k'};

        FixedString fixedString = new FixedString();
        fixedString.print();
        System.out.println("Пустая ли строка?: " + fixedString.isEmpty());
        System.out.println("------------------------");

        FixedString fixedStringOne = new FixedString(ch);
        fixedStringOne.print();
        System.out.println("Пустая ли строка?: " + fixedStringOne.isEmpty());
        System.out.println("Символ под индексом 2: " + fixedStringOne.charAt(2));
        fixedStringOne.setCharAt(6, 'W');
        fixedStringOne.print();
        System.out.println("------------------------");

        FixedString fixedStringTwo = new FixedString(1, 5, ch);
        fixedStringTwo.print();
        System.out.println("Пустая ли строка?: " + fixedStringTwo.isEmpty());
        System.out.println("Символ под индексом 3: " + fixedStringOne.charAt(3));

    }
}
FixedString.java
Код:
public class FixedString {
    private String string = null;

    /** Конструктор без параметров */
    FixedString() {
        this.string = "";
    }

    /** Конструктор с параметром - массив char */
    FixedString(char ... ch) {
        this.string = String.valueOf(ch);
    }

    /** Конструктор в который передается начальный индекс, длина и сам массив char */
    FixedString(int offset, int length, char ... ch) {
        char[] tmp = new char[length];
        for (int j = 0; j < tmp.length; j++) {
            tmp[j] = ch[offset++];
        }
        this.string = String.valueOf(tmp);
    }

    /** Вывод результата на экран */
    public void print() {
        System.out.println("Результат: \"" + string + "\"");
    }

    /** Проверка пустая ли строка */
    public boolean isEmpty() {
        return string.length() == 0;
    }

    /** Вывод элемента по индексу */
    public char charAt(int index) {
        char[] ch = string.toCharArray();

        if((index < 0) || (index > ch.length)) {
            throw new StringIndexOutOfBoundsException(index);
        }
        return ch[index];
    }

    /** Замена символа в строке */
    public void setCharAt(int index, char ch) {
        char[] old = string.toCharArray();

        if((index < 0) || (index > old.length)) {
            throw new StringIndexOutOfBoundsException(index);
        }

        old[index] = ch;
        this.string = String.valueOf(old);
    }
}
Конечно в коде есть вещи которые мне вообще не нравятся... Можно было лучше сделать..
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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