Главная страница

Работа со строками на языке программирования Java. Работа со строками. Оглавление Задание 2 Класс Address 3 Тестирование 4 Вывод 4


Скачать 29.24 Kb.
НазваниеОглавление Задание 2 Класс Address 3 Тестирование 4 Вывод 4
АнкорРабота со строками на языке программирования Java
Дата19.01.2022
Размер29.24 Kb.
Формат файлаdocx
Имя файлаРабота со строками.docx
ТипДокументы
#336604

Оглавление


Задание 2

Класс Address 3

Тестирование 4

Вывод 4


Задание


Доработать класс адреса, который из полученной строки формата "Страна[d] Регион[d] Город[d] Улица[d] Дом[d] Корпус[d] Квартира" ([d] – разделитель, например, «запятая») выбирает соответствующие части и записывает их в соответствующие поля класса Address. Учесть, что в начале и конце разобранной части адреса не должно быть пробелов. Все поля адреса строковые. Разработать проверочный класс не менее чем на четыре адресных строки. В программе предусмотреть две реализации этого метода:

а) разделитель – только запятая (использовать метод split()); Внимание, при разработке нужно учесть, что

б) разделитель – любой из символов ,.;- (класс StringTokenizer).


import java.util.StringTokenizer;

public class Address {
private String country, region, city, street, house, part, flat;

public Address(String stringToParse, boolean multiDivider){
if(stringToParse == null) throw new NullPointerException();
String[] s;
if(multiDivider){
StringTokenizer st = new StringTokenizer(stringToParse, ",.;");
s = new String[st.countTokens()];
int i = 0;
while(st.hasMoreTokens()) s[i++] = st.nextToken();
}else{
s = stringToParse.split(",");
}

if(s.length < 7) throw new IllegalArgumentException("Строка содержит недостаточно данных!");
country = s[0].trim();
region = s[1].trim();
city = s[2].trim();
street = s[3].trim();
house = s[4].trim();
part = s[5].trim();
flat = s[6].trim();
}

@Override
public String toString() {
return "Address: {" +
"country = '" + country + '\'' +
", region = '" + region + '\'' +
", city = '" + city + '\'' +
", street = '" + street + '\'' +
", house = '" + house + '\'' +
", part = '" + part + '\'' +
", flat = '" + flat + '\'' +
'}';
}

public static void main(String[] args) {
Address a = new Address("Россия, Санкт-Петербург, Санкт-Петербург, Декабристов, 62, 1, 68", false);
Address b = new Address("Россия, Москова, Москва, Моховая, 12, 1, 15", true);
Address c = new Address("Беларусь, Минск, минск, Москвовская, 1, 4, 19", true);
Address d = new Address("Россия, Московская область, Мытищи, Строительная, 12, 2, 104", false);

System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

}
}

Класс Address



Address: {country = 'Россия', region = 'Санкт-Петербург', city = 'Санкт-Петербург', street = 'Декабристов', house = '62', housing = '1', flat = '68'}

Address: {country = 'Россия', region = 'Москова', city = 'Москва', street = 'Моховая', house = '12', housing = '1', flat = '15'}

Address: {country = 'Беларусь', region = 'Минск', city = 'минск', street = 'Москвовская', house = '1', housing = '4', flat = '19'}

Address: {country = 'Россия', region = 'Московская область', city = 'Мытищи', street = 'Строительная', house = '12', housing = '2', flat = '104'}
Тестирование

Вывод


По ходу данной практической работы я научился работать со строками StringBuilder, String.


написать администратору сайта