Как сделать ввод числа в java
В Java для введения числа с клавиатуры можно использовать класс Scanner , который позволяет получать данные от пользователя через стандартный поток ввода System.in .
Вот пример кода, который считывает целое число с клавиатуры:
import java.util.Scanner; public class Main public static void main(String[] args) Scanner scanner = new Scanner(System.in); System.out.print("Введите целое число: "); int number = scanner.nextInt(); System.out.println("Вы ввели число: " + number); > >
В этом примере мы выполняем следующие действия:
- создаем объект класса Scanner и передаем ему стандартный поток ввода System.in ;
- затем мы выводим приглашение для пользователя с помощью метода print() и считываем введенное пользователем целое число с помощью метода nextInt() ;
- наконец, мы выводим считанное число на экран с помощью метода println()
Обратите внимание, что метод nextInt() блокирует выполнение программы, пока пользователь не введет целое число. Если пользователь введет не число, то программа выбросит исключение InputMismatchException
Аналогичным образом можно считывать переменные других типов данных: nextDouble() для типа double , nextLong() для типа long , nextFloat() для типа float , nextBoolean() для типа boolean , nextByte() для типа byte , nextShort() для типа short , nextLine() для типа String и т.д.
Подробнее ознакомиться с классом java.util.Scanner вы можете в документации .
Как ввести число в java
Очень сложно слушать ваши записи, ребята. Почему нельзя было подготовиться и записать структурно и без слов паразитов? Все же вы за это деньги с людей берете. А так ощущение будто вырвали сына маминой подруги и заставили с порога объяснять.
СОБЕРЕМ ОСТАТКИ ВОЛИ И ВЫЙДЕМ НА НОВЫЙ УРОВЕНЬ! Уровень 24
15 июля 2023
«Но System.in и BufferedReader не совместимы друг с другом, поэтому мы используем переходник – еще один объект InputStreamReader» в данном случае под переходником имеется в виду шаблон Адаптер
17 мая 2023
Может, стоило для начала объяснить что такое объекты и классы для того чтобы оперировать этими понятиями, так как на данный момент мы изучили только переменные и методы.
Anonymous #2540859 Уровень 6 Expert
28 апреля 2023
Непонятно: говориться что в System.in храниться объект класса InputStream. Но InputStream это абстрактный класс у него не может быть объектов как так-то?
27 апреля 2023
https://www.youtube.com/watch?v=PZa7LEY_7LM Вот здесь доступно объясняют про
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
100% после прочтения этой бесполезной лекции, вы потеряли нить, зачем это все, посмотрите видеоролик, там очень доступно объясняют про то, как считывается поток вводных данных, что вообще такое поток и т.д Я считаю, что проектировщики плана обучения должны обязательно внести дополнения в эту лекцию, раз они начали здесь уже задвигать про ввод данных, это просто must have. Непонимание этой вещи вредит здоровью хуже, чем курение, наркотики и виски без льда.
27 апреля 2023
Ужасное объяснение лекции. Перезапишите лучше новое видео, более понятнее.
Алексей Михайлов Уровень 22 Expert
16 марта 2023
не пользуйтесь Scanner-ом. у него есть 2 метода 1 — next() 2 — nextLine() они оба читают строку(но первый читает 1 слово, а 2 строку целиком) и в этом как раз загвоздка. Там дальше по заданию нужно будет считать строку и число и в этот момент вас ждет неприятный сюрприз: после считывания строки методом nextLine() у вас считывание числа не будет(программа завершится), а ошибку найти будет очень не просто. Многие наступали на эти грабли. Так что учите BufferedReader, как только поймете как составляются цепочки проблем с вводом данных дальше не будет.
MnogoBlog
Как создать сайт на wordpress, настроить и оптимизировать wordpress
Java Урок 4: Ввод чисел с клавиатуры, System.in
MnogoBlog > Уроки по java > Java Урок 4: Ввод чисел с клавиатуры, System.in
Для получения консольного ввода в классе System определен объект System.in. Однако, непосредственно через объект System.in не очень удобно работать, поэтому, как правило, используют класс Scanner, который, в свою очередь использует System.in (Так сложилось).
Скачать исходники для статьи можно ниже
Итак, для ввода информации с консоли надо сделать:
1. предварительно импортировать класс Scanner
import java.util.Scanner;
2. создать объект класс Scanner. При создании объекта класса Scanner используется объект in класса System
Scanner sc = new Scanner(System.in);
Если здесь не все понятно не огорчайтесь, все станет намного яснее позже, пока просто запомните
Scanner sc = new Scanner(System.in);
3. Переменной а, типа int присваивается значение. Значение получают при помощи метода nextInt(), который прописан в классе Scanner
int a = sc.nextInt();
Пока просто запомните
int a = sc.nextInt();
4. Необходимо закрыть объект sc
sc.close();
Таким образом, общий код программы выглядит так:
import java.util.Scanner; public class Test < // объявляется класс Test public static void main(String[] args)/ так включаются программы, // просто запомнить Scanner sc = new Scanner(System.in); System.out.println("Введите число:"); int a = sc.nextInt(); sc.close(); System.out.println("Введено число:" + a); > >
Чтобы получить введенное число, используется метод sc.nextInt(), который возвращает введенное с клавиатуры целочисленное значение.
В классе Scanner имеются еще ряд методов, которые позволяют получать не только целочисленные значения для int переменных. Есть методы, которые позволяют получать значения для других типов переменных. Некоторые из них представлены ниже:
sc.next(); считывает введенную строку до первого пробела;
sc.nextLine(); считывает всю введенную строку;
sc.nextDouble(); считывает введенное число дробного типа.
Java. Как ввести число с консоли и исходя из этого числа ввести имена, задонного колличества персон [дубликат]
Текст задачи «напишите простую программу, которая: -запрашивает количество незнакомцев, с которыми нужно встретиться -построчно читает имена незнакомцев -построчно выводит: «Hello, (имя незнакомца)» для каждого незнакомца. Гарантируется, что введенное количество незнакомцев — целое число. Частные случаи: -Если количество незнакомцев равно нулю, программа должна вывести: «Oh, it looks like there is no one here». -Если количество незнакомцев отрицательное, программа должна вывести: «Seriously? Why so negative?».
import java.io.IOException; import java.util.Scanner; public class HelloStrangers < public static void main(String[] args) throws IOException < Scanner Scanner = new Scanner(System.in); int guests = Scanner.nextInt(); if (guests>0)< for (int i = guests; i>0; i--) < String name = Scanner.nextLine(); System.out.println("Hello, "+ name); >> else if (guests==0) < System.out.println("Oh, it looks like there is no one here"); >else < System.out.println("Seriously? Why so negative?");>> >
Проблема моего кода в том, что при вводе, например, «3» после нажатия энтера, я сразу же получаю «Hello,» дальше я могу ввести имена двух персон, а не трёх. С ними всё как и должно быть: «Hello, (name)», после чего программа завершается Пробовал задать переменную гуэстс через System.in.read(). Но так только хуже было. Можно было именна вводить, до бесконечности Предложенный ранее ответ Особенности использования scanner.nextLine() если я , его правильно понял — не помог. Я добавил просто ещё одну переменную с Scanner.nextLine(), после переменной guests.
