Экзамен
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА
Экзаменационная работа
Бишкек 2020
Вариант №21
2. Осуществить сжатие английского текста, заменив каждую группу из двух или более рядом стоящих символов на один символ, за которым следует количество его вхождений в группу. К примеру, строка hellowoooorld должна сжиматься в hel2owo4rld.
Код:
package kg.com.lanvin.exam;
import java.util.regex.*;
public class Exam {
public static void main(String[] args) {
System.out.println(zip("hellowoooorld"));
}
private static String zip(String data) {
String result = "";
Pattern pattern = Pattern.compile("(.)\\1{0,}");
Matcher matcher = pattern.matcher(data);
while (matcher.find()) {
result += matcher.group(1);
int length = matcher.group().length();
if (length > 1)
result += length;
}
return result;
}
}
Фото результат:
3. Наследование применять только, если это логически обосновано. Создать объект класса Щенок, используя классы Животное, Собака. Методы: вывести на консоль имя, подать голос, прыгать, бегать, кусать.
Код:
Класс PuppyRun
public class PuppyRun {
public static void main(String[] args) {
Puppy puppy = new Puppy("Актош");
System.out.println("Имя: "+puppy.getName());
System.out.println("Голос: " + puppy.votesCast());
System.out.println("Прыгать: " + puppy.jump());
System.out.println("Бегать: "+ puppy.run());
System.out.println("Кусать: "+ puppy.bite());
}
}
Класс Puppy
import kg.com.lanvin.puppy.Dog;
public class Puppy extends Dog {
public Puppy(String name) {
super(name);
}
}
Класс Dog
import kg.com.lanvin.puppy.Animal;
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
public String votesCast(){
return "Гав";
}
public String jump() {
return "Прыгаю";
}
public String run() {
return "Бегаю";
}
public String bite() {
return "Кусаю";
}
}
Класс Animal
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Фото результата: