Для получения консольного ввода в классе 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(); считывает введенное число дробного типа.
А как ввести десятичное число
Если я ввожу через double и ввожу например 3.3 то мне выдаёт ошибку
3.3
Exception in thread “main” java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at One.project.Shelq.Main.main(Main.java:9)
У нас double вводится через запятую.
//переменную double вводить с точкой, например: 2.5
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
double t = Double.parseDouble(reader.readLine());
if (t > 0 & t 3 & t 4 & t <= 5) {
System.out.println("красный");
}
}
}