//2задача
public class Main {
public static void main
( String [ ] args
) { Person[ ] persons = new Person[ 4 ] ;
persons[ 0 ] = new Person( "Шторк" , 19 , true ) ;
persons[ 1 ] = new Person( "Филипп" , false ) ;
persons[ 2 ] = new Person( ) ;
persons[ 3 ] = new Person( persons[ 0 ] ) ;
for ( Person person : persons) {
person.print ( ) ;
}
System .
out .
println ( "Средний возраст индивидуума: " + Person.
averageAge ( persons
) ) ; System .
out .
println ( "Количество мужчин: " + Person.
countMales ( persons
) ) ; }
}
class Person {
private int age;
private boolean isMale;
public Person( ) {
this ( "" , 0 , false ) ;
}
public Person
( String lastName,
int age,
boolean isMale
) { this .lastName = lastName;
this .age = age;
this .isMale = isMale;
}
public Person
( String lastName,
boolean isMale
) { this ( lastName, 0 , isMale) ;
}
public Person( Person person) {
this .lastName = person.lastName ;
this .age = person.age ;
this .isMale = person.isMale ;
}
return lastName;
}
public int getAge( ) {
return age;
}
public boolean isMale( ) {
return isMale;
}
public static double averageAge( Person[ ] persons) {
int totalAge = 0 ;
int count = 0 ;
for ( Person person : persons) {
if ( person.getAge ( ) != 0 ) {
totalAge += person.getAge ( ) ;
count++;
}
}
return ( double ) totalAge / count;
}
public static int countMales( Person[ ] persons) {
int count = 0 ;
for ( Person person : persons) {
if ( person.isMale ( ) ) {
count++;
}
}
return count;
}
public void print( ) {
if ( ! lastName.isEmpty ( ) ) {
System .
out .
println ( "Фамилия: " + lastName
) ; }
if ( age != 0 ) {
System .
out .
println ( "Возраст: " + age
) ; }
System .
out .
println ( "Пол: " + ( isMale
? "Мужской" : "Женский" ) ) ; }
}
Ly8y0LfQsNC00LDRh9CwCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBQZXJzb25bXSBwZXJzb25zID0gbmV3IFBlcnNvbls0XTsKCiAgICAgICAgcGVyc29uc1swXSA9IG5ldyBQZXJzb24oItCo0YLQvtGA0LoiLCAxOSwgdHJ1ZSk7CiAgICAgICAgcGVyc29uc1sxXSA9IG5ldyBQZXJzb24oItCk0LjQu9C40L/QvyIsIGZhbHNlKTsKICAgICAgICBwZXJzb25zWzJdID0gbmV3IFBlcnNvbigpOwogICAgICAgIHBlcnNvbnNbM10gPSBuZXcgUGVyc29uKHBlcnNvbnNbMF0pOwoKICAgICAgICBmb3IgKFBlcnNvbiBwZXJzb24gOiBwZXJzb25zKSB7CiAgICAgICAgICAgIHBlcnNvbi5wcmludCgpOwogICAgICAgIH0KCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQodGA0LXQtNC90LjQuSDQstC+0LfRgNCw0YHRgiDQuNC90LTQuNCy0LjQtNGD0YPQvNCwOiAiICsgUGVyc29uLmF2ZXJhZ2VBZ2UocGVyc29ucykpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0JrQvtC70LjRh9C10YHRgtCy0L4g0LzRg9C20YfQuNC9OiAiICsgUGVyc29uLmNvdW50TWFsZXMocGVyc29ucykpOwogICAgfQp9CgpjbGFzcyBQZXJzb24gewogICAgcHJpdmF0ZSBTdHJpbmcgbGFzdE5hbWU7CiAgICBwcml2YXRlIGludCBhZ2U7CiAgICBwcml2YXRlIGJvb2xlYW4gaXNNYWxlOwoKICAgIHB1YmxpYyBQZXJzb24oKSB7CiAgICAgICAgdGhpcygiIiwgMCwgZmFsc2UpOwogICAgfQoKICAgIHB1YmxpYyBQZXJzb24oU3RyaW5nIGxhc3ROYW1lLCBpbnQgYWdlLCBib29sZWFuIGlzTWFsZSkgewogICAgICAgIHRoaXMubGFzdE5hbWUgPSBsYXN0TmFtZTsKICAgICAgICB0aGlzLmFnZSA9IGFnZTsKICAgICAgICB0aGlzLmlzTWFsZSA9IGlzTWFsZTsKICAgIH0KCiAgICBwdWJsaWMgUGVyc29uKFN0cmluZyBsYXN0TmFtZSwgYm9vbGVhbiBpc01hbGUpIHsKICAgICAgICB0aGlzKGxhc3ROYW1lLCAwLCBpc01hbGUpOwogICAgfQoKICAgIHB1YmxpYyBQZXJzb24oUGVyc29uIHBlcnNvbikgewogICAgICAgIHRoaXMubGFzdE5hbWUgPSBwZXJzb24ubGFzdE5hbWU7CiAgICAgICAgdGhpcy5hZ2UgPSBwZXJzb24uYWdlOwogICAgICAgIHRoaXMuaXNNYWxlID0gcGVyc29uLmlzTWFsZTsKICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIGdldExhc3ROYW1lKCkgewogICAgICAgIHJldHVybiBsYXN0TmFtZTsKICAgIH0KCiAgICBwdWJsaWMgaW50IGdldEFnZSgpIHsKICAgICAgICByZXR1cm4gYWdlOwogICAgfQoKICAgIHB1YmxpYyBib29sZWFuIGlzTWFsZSgpIHsKICAgICAgICByZXR1cm4gaXNNYWxlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIGF2ZXJhZ2VBZ2UoUGVyc29uW10gcGVyc29ucykgewogICAgICAgIGludCB0b3RhbEFnZSA9IDA7CiAgICAgICAgaW50IGNvdW50ID0gMDsKICAgICAgICBmb3IgKFBlcnNvbiBwZXJzb24gOiBwZXJzb25zKSB7CiAgICAgICAgICAgIGlmIChwZXJzb24uZ2V0QWdlKCkgIT0gMCkgewogICAgICAgICAgICAgICAgdG90YWxBZ2UgKz0gcGVyc29uLmdldEFnZSgpOwogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gKGRvdWJsZSkgdG90YWxBZ2UgLyBjb3VudDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBjb3VudE1hbGVzKFBlcnNvbltdIHBlcnNvbnMpIHsKICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgIGZvciAoUGVyc29uIHBlcnNvbiA6IHBlcnNvbnMpIHsKICAgICAgICAgICAgaWYgKHBlcnNvbi5pc01hbGUoKSkgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gY291bnQ7CiAgICB9CgogICAgcHVibGljIHZvaWQgcHJpbnQoKSB7CiAgICAgICAgaWYgKCFsYXN0TmFtZS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQpNCw0LzQuNC70LjRjzogIiArIGxhc3ROYW1lKTsKICAgICAgICB9CiAgICAgICAgaWYgKGFnZSAhPSAwKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0JLQvtC30YDQsNGB0YI6ICIgKyBhZ2UpOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCf0L7QuzogIiArIChpc01hbGUgPyAi0JzRg9C20YHQutC+0LkiIDogItCW0LXQvdGB0LrQuNC5IikpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgfQp9Cg==