Вивід та ввід даних

    
    Для виведення тексту ми використовуватимемо вбудований клас System.
    При створенні першого Java файлу ви можете помітити великий набір коду, який спочатку здасться абсолютно невідомим і страшним. У такому файлі є підключені бібліотеки, основний клас і основна функція main(). Про всі ці речі ми ще детально поговоримо в ході наступних уроків, а зараз варто лише запам'ятати, як можна виводити інформацію в консоль і що для цього потрібно.
    Оскільки Java є об'єктно орієнтованою мовою програмування, всі файли являють собою класи. Для звернення до класів необхідно створювати об'єкти та через об'єкти можна отримувати дані із класу.
    Вивід фрази "Hello World!" представлений нижче:

System.out.print("Hello World !")

    Тут спочатку відбувається звернення до класу System, після чого беремо його об'єкти та методи. Оскільки в System створено об'єкт out, а він має метод print і println, ми можемо звернутися до них через точку.
    
    Надалі ви помітите, що подібна структура є у всьому мови Java. Більше того, ми самі створюватимемо щось подібне, коли дістанемося до теми ОВП.

Команди для виведення даних
Команда print виводить текст без пропуску рядка, а команда println виводитиме текст і переводить курсор в наступний рядок.
    Ми можемо вказати пропуск рядка під час виведення тексту. Приклад нижче:

System.out.print("Hello\n\n\nWorld !")

Тут \n означає перехід на новий рядок, тому слово "World!" буде відображено через три рядки після слова Hello.

Виведення тексту

Приклад 1
У консоль двічі виведіть слово "Привіт !". Кожне слово має починатися з нового рядка.

1 спосіб
System.out.print("Привіт !")
System.out.print("Привіт !")

2 спосіб
System.out.print("Привіт !\n\Привіт !")

Введення даних
    У Java за введення даних з клавіатури відповідає клас Scanner. Перед використанням будь-яких класів їх спочатку необхідно імпортувати. Після імпорту ви можете працювати з класами, використовуючи їх функції та значення.
    З класом Scanner ми поступимо так само і спочатку імпортуємо його:

import java.util.Scanner;

    Далі необхідно створити об'єкт (екземпляр) класу Scanner.
Екземпляр класу – це об'єкт класу, який успадковує всі методи та змінні класу. 
Наприклад:

Scanner some_name = new Scanner(System.in); 
// створюємо об'єкт з іменем some_name

    На цьому етапі ми ще не просимо користувача ввести щось із клавіатури. Ми просто створюємо об'єкт, за допомогою якого зможемо просити користувача ввести якесь значення. Щоб отримати дані від користувача, ми використовуємо метод класу:

int val = some_name.nextInt();

    Якщо хочемо отримати не число, а рядок чи число з плаваючою точкою, необхідно використовувати інші методи.
Декілька основних методів:

Якщо хочемо отримати не число, а рядок чи число з плаваючою точкою, необхідно використовувати інші методи.

Декілька основних методів:

nextLine() - для введення рядка. Тип даних, що повертається String;
nextInt() - для введення цілих чисел. Тип даних int, що повертається;
nextFloat() - для введення чисел з плаваючою точкою. Повертається тип даних float;
nextDouble() - для введення великих чисел з плаваючою точкою. Тип повертається double.

Математичні операції
У Java можна виконувати всі математичні операції. Це такі операції, як:
  • віднімання - z = y - x;
  • додавання – z = y + x;
  • множення – z = y * x;
  • розподіл - z = y/x (на нуль ділити не можна);
  • залишок при розподілі – z = y % x;
Якщо операція проходить над однією і тією ж змінною, можна запис скоротити:

x = x + 15;
x += 15;        // цей запис, аналогічний тому, який записано вище

Якщо нам необхідно збільшити або зменшити число на 1, ми можемо прописати ++ 
або -- відповідно: 

x += 1;
x++;      // цей запис, аналогічний тому, який записано вище

// Приклад  1
// Ввести число з плаваючою точкою і вивести її на екран

System.out.print("Введіть десяткове число");
Scanner num = new Scanner(System.in);
System.out.print("Ваше число =" + num.nextFloat());

Задача 1
Готель має поверхи. Лобі, ресторан та тренажерний зал розташовані на першому поверсі. Номери знаходяться з 2-го поверху. На кожному поверсі розташовано стандартні номери. Якщо у кожному стандартному номері є 3 відвідувачі, то найбільша кількість гостей може поміститися у всіх стандартних номерах готелю?

Вхідні дані
Два натуральні числа та (m,n <= 10^6).

Вихідні дані
Вивести найбільшу кількість гостей, які можуть поміститися у всіх стандартних номерах готелю.

Тести
№ ВХІДНІ ДАНІ ВИХІДНІ ДАНІ
1        510                      120
2        31                          6
3        25                         15
4        72                         36
5      20001 450000         270000000000

Код

    import java.util.* ;
  import java.lang.* ;
  import java.io.* ;
     
    class Main {
      public static void main(String[] args) {
        Scanner sc = new Scanner(System. in );
        long n = sc.nextInt();  // зчитуємо к-сть етажів
        long m = sc.nextInt();  // зчитуємо к-сть номерів на одному                                  //етажі
        long ans = (n - 1) * m * 3; // обчислюємо найбільш можливу                                        // кількість гостей в готелі 
        System.out.print(ans);      // виводимо відповідь
      }
    }

Задача 2
    Три богатирі йшли з Бразилії до Київської Русі. Йшли вони зі швидкістю v метрів за хвилину і повинні пройти відстань s кілометрів. Скільки днів їм знадобиться на подолання шляху?

    Рішення
    Відповіддю задачі буде кількість днів, протягом якого богатирі пройдуть шлях. Тобто, нам просто треба поділити шлях на швидкість.
    
    t = s/v

 Але проблема завдання полягає в тому, що швидкість дана в метрах за хвилину, а нам треба перевести в кілометри на добу. В одній добі 1440 хвилин, а в кілометрі 1000 метрів. 

v м/хв = v*24*60/1000 км/добу = v*1.44 км/добу

t = s/(v * 1.44)

 Оскільки вийде нецілий результат, заокруглюємо значення у бік більшого за допомогою функції Math.ceil().

Вхідні дані
Два натуральні числа v та s (v, s < 10^4)

Вихідні дані
Виведіть кількість днів, за яку богатирі пройдуть свій нелегкий шлях.

Тести
№        Вхідні дані             Вихідні дані
1         1     10                        7
2         2      8                         3
3         4     70                        13
4         5     68                        10
5         3     12                         3

Код програми

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner;

class Main
{
 public static void main (String[] args) throws java.lang.Exception
    {
    Scanner i = new Scanner(System.in);
    int v = i.nextInt(); // v - швидкість метрів за хвилину
    int s = i.nextInt(); // s - відстань в кілометрах
    double result = Math.ceil(s /(v * 1.44));
    System.out.println(String.format("%.0f", result));
    }
}







Java як мова програмування

      Мета даного блогу - навчити учнів основам програмування на Java.      Java – одна з найпопулярніших мов програмування у світі. В ході ...