// Версия: Консоль от 15.07.2026 г.
// package prus.ввод_вывод;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
/**
* Набор статических методов, которые обеспечивают удобный доступ к System.in и System.out для ввода и вывода, ориентированных на строку.
* Используется UTF-8.
* Применяется для JDK 25 и выше.
*/
public class Консоль {
private Консоль() { throw new Error("нет случаев");}
//----------------------------------------------
/**
* Печатает объект в консоль.
*/
public static void печать(Object объект) {System.out.print(объект);}
/**
* Печатает объект в консоль.
*/
public static void вывод(Object объект) {System.out.print(объект);}
//----------------------------------------------
/**
* Печатает объект в консоль и переходит на следующую строчку.
*/
public static void печатьлн(Object объект) {System.out.println(объект);}
/**
* Печатает объект в консоль и переходит на следующую строчку.
*/
public static void выводлн(Object объект) {System.out.println(объект);}
/**
* Печатает объект в консоль и переходит на следующую строчку.
*/
public static void печатьпс(Object объект) {System.out.println(объект);}
/**
* Печатает объект в консоль и переходит на следующую строчку.
*/
public static void выводпс(Object объект) {System.out.println(объект);}
//---------------------------------------------------------------------------------------
/**
* Переход на следующую строку.
*/
public static void выводлн() {System.out.println();}
/**
* Переход на следующую строку.
*/
public static void печатьлн() {System.out.println();}
/**
* Переход на следующую строку.
*/
public static void печатьпс() {System.out.println();}
/**
* Переход на следующую строку.
*/
public static void переход_строки() {System.out.println();}
/**
* Переход на следующую строку.
*/
public static void пс() {System.out.println();}
//-----------------------------------------------------------------------------------------
/**
* Ввод строки текста и переход на следующую строку.
*/
public static String вводлн(String подсказка) { печать(подсказка); return readln();}
/**
* Ввод строки текста и переход на следующую строку.
*/
public static String ввод(String подсказка) { печать(подсказка); return readln();}
/**
* Ввод строки текста и переход на следующую строку.
*/
public static String вводпс(String подсказка) { печать(подсказка); return readln();}
public static String readln() {
try {
return reader().readLine();
} catch (IOException ioe) {
throw new IOError(ioe);
}
}
private static BufferedReader br;
static synchronized BufferedReader reader() {
if (br == null) {
String enc = System.getProperty("stdin.encoding", "");
Charset cs = Charset.forName(enc, StandardCharsets.UTF_8);
br = new BufferedReader(new InputStreamReader(System.in, cs));
}
return br;
}
//---------------------------------------------------------------------------------------------------------------------------------------------------
/**
* Метод для форматирования строки.
* Типы форматируемого значения
* %s - Любой тип, который будет приведен к строке - String.format("Привет %s!","мир")
* %b - Любой тип, который будет приведен к boolean: true — если значение не null, false — если null - String.format("Привет %b!",null)
* %h - Можно передавать любой объект, который будет приведен к шестнадцатеричной строке значения из метода hashCode () - String.format("Привет %h!","мир")
* %c - Используется для задания символа Unicode (char) - String.format("Привет м%cр!",'и')
* %d - Задается целое число (int. byte, short, int, long, BigInteger) - String.format("Мне уже %d!",20)
* %f - Используется для задания числа с плавающей запятой - String.format("Число ПИ равно - %f!", 3.14159)
* %e
* %a
* %x
*
*
*/
public static String формат(String форматированная_строка, Object... аргументы) {return String.format(форматированная_строка, аргументы);}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void печатьлнф(String форматированная_строка, Object... аргументы) {System.out.println(String.format(форматированная_строка, аргументы));}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void выводлнф(String форматированная_строка, Object... аргументы) {System.out.println(String.format(форматированная_строка, аргументы));}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void печатьпсф(String форматированная_строка, Object... аргументы) {System.out.println(String.format(форматированная_строка, аргументы));}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void выводпсф(String форматированная_строка, Object... аргументы) {System.out.println(String.format(форматированная_строка, аргументы));}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void печатьф(String форматированная_строка, Object... аргументы) {System.out.print(String.format(форматированная_строка, аргументы));}
/**
* В Java существует функция, предназначенная для форматирования вывода в консоли, — System.out.printf().
* При использовании со спецификаторами, она позволяет добиться нужного формата вывода.
* Спецификаторы:
* %d — для вывода в консоль целочисленных значений;
* %x — для 16-ричных чисел;
* %f — выводятся числа с плавающей точкой;
* %e — для чисел в экспоненциальной форме (1.3e+01);
* %c — вывод в консоль одиночного символа;
* %s — вывод в консоль строковых значений.
*/
public static void выводф(String форматированная_строка, Object... аргументы) {System.out.print(String.format(форматированная_строка, аргументы));}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
/**
* Остановить закрытие консольного окна (Ожидание ввода строки).
*/
public static void стоп(){
System.out.println("");
String cr = readln();
}
//------------------------------------------------------------------------------------
}