/* package whatever; // don't place package name! */
public class Main {
public static void main
( String [ ] args
) { Icecream[ ] icecreams = new Icecream[ 4 ] ;
icecreams[ 0 ] = new Icecream( "Шоколадное" , true , 5 ) ;
icecreams[ 1 ] = new Icecream( "Сливочное" , false ) ;
icecreams[ 2 ] = new Icecream( ) ;
icecreams[ 3 ] = new Icecream( icecreams[ 0 ] ) ;
for ( Icecream icecream : icecreams) {
icecream.print ( ) ;
}
System .
out .
println ( "Средний процент жирности: " + Icecream.
averageFatContent ( icecreams
) ) ; System .
out .
println ( "Количество мороженых с шоколадом: " + Icecream.
countChocolateIcecream ( icecreams
) ) ; }
}
class Icecream {
private boolean hasChocolate;
private int fatContent;
public Icecream( ) {
this ( "" , false , 0 ) ;
}
public Icecream
( String name,
boolean hasChocolate
) { this ( name, hasChocolate, 0 ) ;
}
public Icecream
( String name,
boolean hasChocolate,
int fatContent
) { this .name = name;
this .hasChocolate = hasChocolate;
this .fatContent = fatContent;
}
public Icecream( Icecream icecream) {
this .name = icecream.name ;
this .hasChocolate = icecream.hasChocolate ;
this .fatContent = icecream.fatContent ;
}
return name;
}
public boolean hasChocolate( ) {
return hasChocolate;
}
public int getFatContent( ) {
return fatContent;
}
public static double averageFatContent( Icecream[ ] icecreams) {
int totalFatContent = 0 ;
int count = 0 ;
for ( Icecream icecream : icecreams) {
if ( icecream.getFatContent ( ) != 0 ) {
totalFatContent += icecream.getFatContent ( ) ;
count++;
}
}
return ( double ) totalFatContent / count;
}
public static int countChocolateIcecream( Icecream[ ] icecreams) {
int count = 0 ;
for ( Icecream icecream : icecreams) {
if ( icecream.hasChocolate ( ) ) {
count++;
}
}
return count;
}
public void print( ) {
System .
out .
println ( "Название: " + name
) ; if ( hasChocolate) {
System .
out .
println ( "Содержит шоколад." ) ; } else {
System .
out .
println ( "Не содержит шоколад." ) ; }
if ( fatContent != 0 ) {
System .
out .
println ( "Процент жирности: " + fatContent
) ; }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgSWNlY3JlYW1bXSBpY2VjcmVhbXMgPSBuZXcgSWNlY3JlYW1bNF07CiAgICAgICAgaWNlY3JlYW1zWzBdID0gbmV3IEljZWNyZWFtKCLQqNC+0LrQvtC70LDQtNC90L7QtSIsIHRydWUsIDUpOwogICAgICAgIGljZWNyZWFtc1sxXSA9IG5ldyBJY2VjcmVhbSgi0KHQu9C40LLQvtGH0L3QvtC1IiwgZmFsc2UpOwogICAgICAgIGljZWNyZWFtc1syXSA9IG5ldyBJY2VjcmVhbSgpOwogICAgICAgIGljZWNyZWFtc1szXSA9IG5ldyBJY2VjcmVhbShpY2VjcmVhbXNbMF0pOwoKICAgICAgICBmb3IgKEljZWNyZWFtIGljZWNyZWFtIDogaWNlY3JlYW1zKSB7CiAgICAgICAgICAgIGljZWNyZWFtLnByaW50KCk7CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCh0YDQtdC00L3QuNC5INC/0YDQvtGG0LXQvdGCINC20LjRgNC90L7RgdGC0Lg6ICIgKyBJY2VjcmVhbS5hdmVyYWdlRmF0Q29udGVudChpY2VjcmVhbXMpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCa0L7Qu9C40YfQtdGB0YLQstC+INC80L7RgNC+0LbQtdC90YvRhSDRgSDRiNC+0LrQvtC70LDQtNC+0Lw6ICIgKyBJY2VjcmVhbS5jb3VudENob2NvbGF0ZUljZWNyZWFtKGljZWNyZWFtcykpOwogICAgfQp9CgpjbGFzcyBJY2VjcmVhbSB7CiAgICBwcml2YXRlIFN0cmluZyBuYW1lOwogICAgcHJpdmF0ZSBib29sZWFuIGhhc0Nob2NvbGF0ZTsKICAgIHByaXZhdGUgaW50IGZhdENvbnRlbnQ7IAoKICAgIHB1YmxpYyBJY2VjcmVhbSgpIHsKICAgICAgICB0aGlzKCIiLCBmYWxzZSwgMCk7CiAgICB9CgogICAgcHVibGljIEljZWNyZWFtKFN0cmluZyBuYW1lLCBib29sZWFuIGhhc0Nob2NvbGF0ZSkgewogICAgICAgIHRoaXMobmFtZSwgaGFzQ2hvY29sYXRlLCAwKTsKICAgIH0KCiAgICBwdWJsaWMgSWNlY3JlYW0oU3RyaW5nIG5hbWUsIGJvb2xlYW4gaGFzQ2hvY29sYXRlLCBpbnQgZmF0Q29udGVudCkgewogICAgICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICAgICAgdGhpcy5oYXNDaG9jb2xhdGUgPSBoYXNDaG9jb2xhdGU7CiAgICAgICAgdGhpcy5mYXRDb250ZW50ID0gZmF0Q29udGVudDsKICAgIH0KCiAgICBwdWJsaWMgSWNlY3JlYW0oSWNlY3JlYW0gaWNlY3JlYW0pIHsKICAgICAgICB0aGlzLm5hbWUgPSBpY2VjcmVhbS5uYW1lOwogICAgICAgIHRoaXMuaGFzQ2hvY29sYXRlID0gaWNlY3JlYW0uaGFzQ2hvY29sYXRlOwogICAgICAgIHRoaXMuZmF0Q29udGVudCA9IGljZWNyZWFtLmZhdENvbnRlbnQ7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXROYW1lKCkgewogICAgICAgIHJldHVybiBuYW1lOwogICAgfQoKICAgIHB1YmxpYyBib29sZWFuIGhhc0Nob2NvbGF0ZSgpIHsKICAgICAgICByZXR1cm4gaGFzQ2hvY29sYXRlOwogICAgfQoKICAgIHB1YmxpYyBpbnQgZ2V0RmF0Q29udGVudCgpIHsKICAgICAgICByZXR1cm4gZmF0Q29udGVudDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBhdmVyYWdlRmF0Q29udGVudChJY2VjcmVhbVtdIGljZWNyZWFtcykgewogICAgICAgIGludCB0b3RhbEZhdENvbnRlbnQgPSAwOwogICAgICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgZm9yIChJY2VjcmVhbSBpY2VjcmVhbSA6IGljZWNyZWFtcykgewogICAgICAgICAgICBpZiAoaWNlY3JlYW0uZ2V0RmF0Q29udGVudCgpICE9IDApIHsKICAgICAgICAgICAgICAgIHRvdGFsRmF0Q29udGVudCArPSBpY2VjcmVhbS5nZXRGYXRDb250ZW50KCk7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAoZG91YmxlKSB0b3RhbEZhdENvbnRlbnQgLyBjb3VudDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBjb3VudENob2NvbGF0ZUljZWNyZWFtKEljZWNyZWFtW10gaWNlY3JlYW1zKSB7CiAgICAgICAgaW50IGNvdW50ID0gMDsKICAgICAgICBmb3IgKEljZWNyZWFtIGljZWNyZWFtIDogaWNlY3JlYW1zKSB7CiAgICAgICAgICAgIGlmIChpY2VjcmVhbS5oYXNDaG9jb2xhdGUoKSkgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gY291bnQ7CiAgICB9CgogICAgcHVibGljIHZvaWQgcHJpbnQoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQndCw0LfQstCw0L3QuNC1OiAiICsgbmFtZSk7CiAgICAgICAgaWYgKGhhc0Nob2NvbGF0ZSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCh0L7QtNC10YDQttC40YIg0YjQvtC60L7Qu9Cw0LQuIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQndC1INGB0L7QtNC10YDQttC40YIg0YjQvtC60L7Qu9Cw0LQuIik7CiAgICAgICAgfQogICAgICAgIGlmIChmYXRDb250ZW50ICE9IDApIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQn9GA0L7RhtC10L3RgiDQttC40YDQvdC+0YHRgtC4OiAiICsgZmF0Q29udGVudCk7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgfQp9Cg==