/* package whatever; // don't place package name! */
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.DoubleSummaryStatistics;
import java.util.IntSummaryStatistics;
/* Класс ConsoleReader
Сделать класс ConsoleReader, у которого будут 4 статических метода:
String readString() – читает с клавиатуры строку
int readInt() – читает с клавиатуры число
double readDouble() – читает с клавиатуры дробное число
boolean readBoolean() – читает с клавиатуры строку "true" или "false" и возвращает соответствующую логическую переменную true или false
Внимание: создавайте переменную для чтения данных с консоли (BufferedReader или Scanner) внутри каждого метода
*/
class ConsoleReader
{
{
return s;
}
{
int n
= Integer.
parseInt(readString
()); return n;
}
public static double readDouble
() throws Exception {
double d
= Double.
parseDouble(readString
()); return d;
}
public static boolean readBoolean
() throws Exception {
boolean j
=Boolean.
parseBoolean(readString
()); return j;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwppbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7CmltcG9ydCBqYXZhLnV0aWwuRG91YmxlU3VtbWFyeVN0YXRpc3RpY3M7CmltcG9ydCBqYXZhLnV0aWwuSW50U3VtbWFyeVN0YXRpc3RpY3M7CgovKiDQmtC70LDRgdGBIENvbnNvbGVSZWFkZXIK0KHQtNC10LvQsNGC0Ywg0LrQu9Cw0YHRgSBDb25zb2xlUmVhZGVyLCDRgyDQutC+0YLQvtGA0L7Qs9C+INCx0YPQtNGD0YIgNCDRgdGC0LDRgtC40YfQtdGB0LrQuNGFINC80LXRgtC+0LTQsDoKU3RyaW5nIHJlYWRTdHJpbmcoKSDigJMg0YfQuNGC0LDQtdGCINGBINC60LvQsNCy0LjQsNGC0YPRgNGLINGB0YLRgNC+0LrRgwppbnQgcmVhZEludCgpIOKAkyDRh9C40YLQsNC10YIg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0Ysg0YfQuNGB0LvQvgpkb3VibGUgcmVhZERvdWJsZSgpIOKAkyDRh9C40YLQsNC10YIg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0Ysg0LTRgNC+0LHQvdC+0LUg0YfQuNGB0LvQvgpib29sZWFuIHJlYWRCb29sZWFuKCkg4oCTINGH0LjRgtCw0LXRgiDRgSDQutC70LDQstC40LDRgtGD0YDRiyDRgdGC0YDQvtC60YMgInRydWUiINC40LvQuCAiZmFsc2UiINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0YPRjiDQu9C+0LPQuNGH0LXRgdC60YPRjiDQv9C10YDQtdC80LXQvdC90YPRjiB0cnVlINC40LvQuCBmYWxzZQrQktC90LjQvNCw0L3QuNC1OiDRgdC+0LfQtNCw0LLQsNC50YLQtSDQv9C10YDQtdC80LXQvdC90YPRjiDQtNC70Y8g0YfRgtC10L3QuNGPINC00LDQvdC90YvRhSDRgSDQutC+0L3RgdC+0LvQuCAoQnVmZmVyZWRSZWFkZXIg0LjQu9C4IFNjYW5uZXIpINCy0L3Rg9GC0YDQuCDQutCw0LbQtNC+0LPQviDQvNC10YLQvtC00LAKKi8KCiBjbGFzcyBDb25zb2xlUmVhZGVyCnsKICAgICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nIHJlYWRTdHJpbmcoKSB0aHJvd3MgRXhjZXB0aW9uCiAgICB7CiAgICAgICAgQnVmZmVyZWRSZWFkZXIgcmVhZGVyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgICAgICBTdHJpbmcgcyA9IHJlYWRlci5yZWFkTGluZSgpOwogICAgICAgIHJldHVybiBzOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgcmVhZEludCgpIHRocm93cyBFeGNlcHRpb24KICAgIHsKICAgICAgICBpbnQgbiA9IEludGVnZXIucGFyc2VJbnQocmVhZFN0cmluZygpKTsKICAgICAgICByZXR1cm4gbjsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIHJlYWREb3VibGUoKSB0aHJvd3MgRXhjZXB0aW9uCiAgICB7CiAgICAgICAgZG91YmxlIGQgPSBEb3VibGUucGFyc2VEb3VibGUocmVhZFN0cmluZygpKTsKICAgICAgICByZXR1cm4gZDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGJvb2xlYW4gcmVhZEJvb2xlYW4oKSB0aHJvd3MgRXhjZXB0aW9uCiAgICB7CiAgICAgICAgYm9vbGVhbiBqID1Cb29sZWFuLnBhcnNlQm9vbGVhbihyZWFkU3RyaW5nKCkpOwogICAgICAgIHJldHVybiBqOwogICAgfQoKfQ==