Основы Java (Серия из 12 частей)
В этой статье мы узнаем о том, как читать пользовательские данные в java.
Чтобы прочитать вводимые пользователем данные, сначала вам нужно импортировать java.util. Сканер . Здесь сканер является предопределенным классом java. Давайте посмотрим, как мы можем считывать входные данные с терминала.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Age: "); // line 01
Scanner inputAge = new Scanner(System.in); // line 02
}
}
Строка 01 выводит “Возраст:” в терминале, чтобы пользователь мог ввести свой возраст. Строка 02 создала объект с именем введите возраст , который принадлежит Сканеру классу. Вы можете видеть, что я использовал новый для создания объекта. Затем в скобках я ввел System.in . Это делается для того, чтобы получить входные данные в систему. Подумайте об этом так же, как System.out . Таким образом, строка 02 считывает вводимые пользователем данные (возраст, который вводит пользователь) и присваивает их возраст ввода . Теперь попробуйте распечатать в отключении . Если вы выполните следующую команду,
System.out.println(inputAge);
вы увидите, что программа печатает не введенный возраст, а длинное предложение. Так как же вы можете напечатать возраст? Для этого вам нужно использовать следующий байт() предопределенный метод из класса Сканер . Он сканирует следующий токен ввода в виде байта. Проверьте следующий код.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Age: "); // line 01
Scanner inputAge = new Scanner(System.in); // line 02
byte age = inputAge.nextByte(); // line 03
System.out.println("You are " + age); // line 04
}
}
Здесь в строке 03 мы объявили новую переменную возраст , которая имеет тип байт . Затем мы применили метод nextByte() к возраст ввода . Затем, когда вы печатаете возраст в строке 04, вы можете увидеть результат, как и ожидалось. Также в строке 04 происходит “неявное приведение”, и возраст преобразуется в строку самой java.
Попробуйте ввести число, например 10.5 (с десятичными цифрами), и проверьте, будет ли код работать плавно. Нет права? Вы обязательно получите сообщение об ошибке. Это происходит потому, что мы объявили возраст как переменную типа байт . Поэтому он не принимает никаких чисел с плавающей запятой. Для этого существует другой предопределенный метод nextFloat() в классе Сканер . С его помощью вы можете использовать числа с плавающей запятой в качестве входных данных пользователя. Пройдите через код, приведенный ниже.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Height in meters: ");
Scanner inputHeight = new Scanner(System.in);
float height = inputHeight.nextFloat();
System.out.println("You are " + height + "m tall.");
}
}
Теперь давайте посмотрим, как мы можем попросить пользователя ввести строку, а затем распечатать эту строку в терминале. Посмотрите на код, приведенный ниже.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Enter your name: "); // line 01
Scanner name = new Scanner(System.in); // line 02
String userName = name.next(); // line 03
System.out.println("Hello " + userName); // line 04
}
}
Здесь, в строке 01, мы просим пользователя ввести свое имя. Вероятно, он введет свое полное имя (что означает более одного слова). Давайте предположим, что он вошел как “Эдвард Каллен”. Это имя читается в строке 02. Теперь нам нужно преобразовать этот Сканер объект имя в строку. Для этого здесь я использовал предопределенный метод next() . Однако, когда строка 04 выведет вывод, вы увидите только “Привет, Эдвард”. Это почему? Это происходит потому, что метод next() считывает только один токен. Это означает, что он не читает всю строку целиком. Если вы хотите прочитать полную строку, используйте метод следующая строка() , как показано в приведенном ниже коде.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner inputName = new Scanner(System.in);
System.out.print("Full Name: ");
String fullName = inputName.nextLine().trim();
System.out.println("Oh hey " + fullName);
}
}
Здесь/|Метод nextLine() считывает полное имя и присваивает его строке Полное имя . Мы использовали метод trim() только для устранения любых ненужных пробелов, которые могут быть в пользовательском вводе. Использование trim() не является обязательным. Если вы введете имя как "Джейкоб Блэк", вы получите вывод как "О, привет, Джейкоб Блэк" без лишних пробелов.
Задача
Попросите пользователя ввести свое имя (EmpName) и зарплату (зарплата). Затем добавьте бонус в размере 20 000 к его зарплате (sal с бонусом) и выведите строку “Привет ваша общая зарплата с бонусом составляет”. Пример: Ввод-: Полное имя: Чарли Свон Базовая зарплата: 100000 Ожидаемый результат-: Привет, Чарли Свон, твоя общая зарплата с бонусом составляет 120000,0
На этом мы можем завершить эту статью. Перейдите к следующей статье, чтобы узнать больше о java: Программирование
Основы Java (Серия из 12 частей)
Оригинал: “https://dev.to/chathurashmini/basics-of-java-10-lb2”