JavaRush /Курсы /Java Syntax /И снова вывод на экран

И снова вывод на экран

Java Syntax
3 уровень , 3 лекция
Открыта

— Давным-давно компьютеры умели отображать только текст. Программы выводили данные на экран, а вводили их с клавиатуры. Такой режим работы называется «работа с консолью» или просто «консоль». Одним из альтернативных вариантов консоли есть оконный интерфейс. Это когда программа взаимодействует с пользователем через окно/окна. Так как мы только учимся программировать, то начнём с работы с консолью.

— Эх, ладно.

— Текст выводится на консоль (экран) последовательно строчка за строчкой. Вводится текст с клавиатуры, и, во избежание ошибок, дублируется на экран. Иногда это выглядит так, как будто человек и программа попеременно что-то пишут на экране.

— Вывести текст на экран можно методом System.out.print(). Эта функция последовательно выводит текст на экран. System.out.println() выводит на экран текст и переводит курсор на новую строку.

Код Результат
System.out.print("Mama");
System.out.print("Mila");
System.out.print("Ramu");
MamaMilaRamu
System.out.print("Mama");
System.out.println("Mila");
System.out.print("Ramu");
MamaMila
Ramu
System.out.println("Mama");
System.out.println("Mila");
System.out.println("Ramu");
Mama
Mila
Ramu

— Чтобы текст не сливался при выводе, нужно добавлять пробел, пример

Код Результат
int a = 5, b = 6;
System.out.print(a);
System.out.print(b);
56
int a = 5, b = 6;
System.out.print(" " + a + " " + b);
 5 6
int a = 5, b = 6;
System.out.print("Sum is " + (a + b));
Sum is 11

— Понятно.

— Таким образом, на экран можно вывести вообще все что угодно: все объекты в Java могут быть преобразованы в строку. Все классы в Java унаследованы от класса Object, а он имеет метод toString(), который вызывается, когда объект нужно преобразовать к строке.

Код Описание
Cat cat = new Cat("Vaska");
System.out.println("Cat is " + cat);
Три приведённых примера эквивалентны.
Cat cat = new Cat("Vaska");
System.out.println("Cat is " + cat.toString());
Cat cat = new Cat("Vaska");
String catText = cat.toString();
System.out.println("Cat is " + catText);
3
Задача
Java Syntax Pro, 3 уровень, 3 лекция
Недоступна
Тепло или холодно
Ввести с клавиатуры температуру на улице. Если температура меньше 0, вывести надпись "на улице холодно", иначе - вывести надпись "на улице тепло".

— Но у меня программа выдала на экран “Cat is com.javarush.lesson3.Cat@1fb8ee3”. В чем смысл такого текста?

— Стандартный метод toString() класса Object возвращает строку, состоящую из имени класса и адреса объекта в памяти (в шестнадцатеричном виде)

— М-да. И какая может быть польза от такого метода?

— Ты можешь в своём классе написать свою реализацию метода toString(), и вызываться будет именно он.

— Да? Ну ладно.

— Вот тебе несколько задач от Диего.

3
Задача
Java Syntax Pro, 3 уровень, 3 лекция
Недоступна
Призывная кампания
Ввести с клавиатуры имя и возраст. Если возраст в пределах 18-28 (включительно), то вывести надпись "Имя, явитесь в военкомат", где Имя - это имя, введенное ранее с клавиатуры. Пример ввода: Amigo 18 Пример вывода: Amigo, явитесь в военкомат
Комментарии (525)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Мистер Уровень 8
5 марта 2024
просто в метод addTenPercent добавляете return*1.1 и все
vlafriday Уровень 1
24 февраля 2024
24.02.2024 check, мой уровень 3
Гордей Уровень 15
27 ноября 2023
формула получения 1.1 S* (1+p/100), где S число которое необходимо увеличить на %, p процент
Сергей Уровень 3
5 ноября 2023
А что безоплатных заданий уже не будет? мда((( и где же брать материю для открытия лекций? я конечно все понимаю, ребята стараются делают, но вот так из 40 уровней после 1 ве по подписке...ну не знаю.... может я где то не там смотрю?
Вячеслав Уровень 13
5 февраля 2023
return i * 1.1;
Олег Сергеевич Уровень 9 Expert
2 февраля 2023
Решил в две строки. Не пожалейте лайков. double a = 0.1; return i * a + i;
Быкова Регина Уровень 33
11 ноября 2022
Задача на проценты. При решении " i * 1.1 " не пройдет тест с double например для 100 * 1.1 = 110 Будет примерно так: Expected :110.0 Actual :110.00000000000001 А вот для " i + (i / 100.0 * 10.0) " результаты ок для кейсов (исходное число, ожидаемый результат): (9, 9.9), (10, 11.0), (100, 110.0), (-100, -110.0), (0, 0.0)
Dmitry Уровень 26
23 ноября 2022
а почему эта единичка в конце появляется?
andreysivacov Уровень 4
20 октября 2022
Почему правильно i*1.1 ? Почему 1.1 ?
Dmitry Уровень 26
23 ноября 2022
да, надо (i + i * 0.1) если i*1.1 то далеко от запятой единичка вылазит
Kunio-kun Уровень 4
1 мая 2022
double percent = (i * 10) / 100; Так IDE тоже компилирует результат, но по условию возвращение такого вида - return 123 * 435; То есть, необходимо первым делом перевести 10% сразу же в дробное число: 0.1 - увеличение на 10% 1.1 - увеличение на 110% Каждая десятая часть от 1 = 10%.
Aleksandr Tsovma Уровень 3
29 ноября 2021
всё понятно, кроме одного: для чего toString() вообще может понадобиться?