Читайте также:
|
|
public class main {
public static void main(String[] args) {
/*
* Класс StringBuffer имеетнесколькоконструкторов
* StringBuffer(); - создаетпустойбуфферреализуем с помощьюнегообъектstr
* StringBuffer(String s); - создаетбуффер и записает в негостроку s реализуем с помощьюнегообъектstrs
* StringBuffer(int l); - создаетбуффер и устанавливаетегодлиннуравной l реализуем с помощьюнегообъектstrl
*/
StringBuffer str = new StringBuffer();
StringBuffer strs = new StringBuffer("Test string");
StringBuffer strl = new StringBuffer(100);
/*
* Выведемихпараметрыпоумолчанию
*/
System. out. println("Str "+"Вместимость = "+str.capacity()+" записанная информация \""+str.toString()+"\"");
System. out. println("Strs "+"Вместимость = "+strs.capacity()+" записанная информация \""+strs.toString()+"\"");
System. out. println("Strl "+"Вместимость = "+strl.capacity()+" записанная информация \""+strl.toString()+"\"");
/* Далеебудемрассматриватьвсеметодынаобъектеstr
* Класс StringBuffer - строковыйбуферпрдназначенныйдля
* постепенноговводастрок и ихвременногохранения и обратобки
* Онхранитданные в видепоследовательностисимволом и
* предоставляетпользователюметодыдлявводастрок
* и ихобработки.
* Рассмотримегометоды
*/
/*append - методдобавляющий к концупоследовательностиданныхкакуюлибоинформацию
* онсильноперегружен и способенработать с различнымивариантамивходныхпараметров
* Рассмотримегоработу
*/
System. out. println("Состояние строкового буффера до вызова медода append");
System. out. println(str.toString());
str.append("test "); // добавлениестроки
str.append(true); // добавлениепеременной типа Boolean
System. out. println("Состояние строкового буффера после вызова метода append");
System. out. println(str.toString());
/* capacity - метод возвращающий вместимость буффера для новых данных
* до следующего перераспределения памяти
* length - метод возвращающий длинну записанной в буффере информации
* Рассмотрим его работу
*/
System. out. println("Вместимость буфера = "+str.capacity()+" длинна записанной информации = "+str.length());
str.append("1 2 3 4 5");
System. out. println("Вместимость буфера = "+str.capacity()+" длинна записанной информации = "+str.length());
/* так как длинна записанной информации вышла за предел вместимости
* буффер перераспределил память бля выделения большей вместимости
* из этого видно, что памят в буфере выделяется динамически
* и его вместимость расширяется по мере необходимости
*/
/* Методы:
* charAt - возвращяет символ стоящий на некоторой позиции
* codePointAt - возвращает Unicode код символа стоящего на некоторой позиции
* codePointBefore - возвращает Unicode код символа стоящего перед некоторой позицией
* codePointCount - возвращяет количество кодов системы unicode с начальнйо по конечную позицию
*/
System. out. println("Пример работы функций charAt, codePointAt, codePointBefore, codePointCount");
System. out. println(str.charAt(2)+"-символ стоящий на 2-й позиции");
System. out. println(str.codePointAt(2)+"-код символа стоящего на 2-й позиции");
System. out. println(str.codePointBefore(2)+"-код символа стоящего перед 2-й позицией");
System. out. println(str.codePointCount(0, str.length())+"-количество Unicode символов с 0 по последнюю позицию");
/* delete и deleteCrharAt - удаляют последовательность символов или символ указанные на позициях соответственно
*
*/
System. out. println("Состояние строкового буффера до вызова медода deelte");
System. out. println(str.toString());
str.delete(5, 7);
System. out. println("Состояние строкового буффера после выхове матода delete");
System. out. println(str.toString());
/* ensureCapacity - метод принимающий в качестве параметра минимально необходимую вместимость
* и расширяющий ее в случае необходимости
*/
System. out. println("Вместимость буфера = "+str.capacity());
str.ensureCapacity(100);
System. out. println("Вместимость буфера = "+str.capacity());
/* indexOf - поиск первого вхождения подстроки в строку
* lastIndexOf - поиск последнего(первого с конца) вхождения подстроки в строку
*
*/
System. out. println("Состояние буффера на данный момент:"+str.toString());
System. out. println("первое вхождение \"e\" на позиции "+str.indexOf("e", 0));
System. out. println("первое вхождение \"e\" на позиции "+str.lastIndexOf("e", str.length()));
/* insert - вставляет какие либо данные начиная с указанной позиции
*
*/
System. out. println("состояние буфера до вставки:"+str.toString());
str.insert(5, "123 ");
System. out. println("Состояние буффера после вставки:"+str.toString());
/* reverse - метод разворачивающий строку
*
*/
str.reverse();
System. out. println("Состояние буффера после вызова метода reverse:"+str.toString());
str.reverse();
/* setCharAt - устанавливает символ на некоторую позицию
* setLength - устанавливает длинну буфера (вместимость)
* subSequence, subString - методы возвращающие подстроку начиная с заданной до конечной позиции
* trimToSize - передеспределяет используемую буффером память до минимально возвожной длинны необхо
* димой для хранения записанной в буффере информации
*/
}
}
Результаты работы программы
Str Вместимость = 16 записанная информация ""
Strs Вместимость = 27 записанная информация "Test string"
Strl Вместимость = 100 записанная информация ""
Состояние строкового буффера до вызова медода append
Состояние строкового буффера после вызова метода append
test true
Вместимость буфера = 16 длинна записанной информации = 9
Вместимость буфера = 34 длинна записанной информации = 18
Пример работы функций charAt, codePointAt, codePointBefore, codePointCount
s-символ стоящий на 2-й позиции
115-код символа стоящего на 2-й позиции
101-код символа стоящего перед 2-й позицией
18-количество Unicode символов с 0 по последнюю позицию
Состояние строкового буффера до вызова медода deelte
test true1 2 3 4 5
Состояние строкового буффера после выхове матода delete
test ue1 2 3 4 5
Вместимость буфера = 34
Вместимость буфера = 100
Состояние буффера на данный момент:test ue1 2 3 4 5
первое вхождение "e" на позиции 1
первое вхождение "e" на позиции 6
состояние буфера до вставки:test ue1 2 3 4 5
Состояние буффера после вставки:test 123 ue1 2 3 4 5
Состояние буффера после вызова метода reverse:5 4 3 2 1eu 321 tset
Задание №5
На основании задания №2 исследовать работу исключительных ситуаций. Создать программу обработки следующих ситуаций:
1) Исключительную ситуацию если введено название губернии, которой нет в списке допустимых губерний
2) Исключительную ситуацию если количество жителей в стране не соответствует количеству жителей в губерниях
Продемонстрировать работу системных исключений таких как NumberFormatException.
Блок схема
Дата добавления: 2015-10-29; просмотров: 80 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Код программы | | | Структура файла |