Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Конвертация строк в число (parseXxx()) и обратно (toString())
Через консоль вводится текстовая информация– набор символов. Например,когда мы хотим ввести число 125, нам нужно ввести текст, состоящий из 3 последовательных символов «1», «2», «5». А чтобы из 3 символов собрать одно число, нужно применить конвертацию. В случае конвертации из текста в числа в Javaприменяют методы семейства parse. Например, вот так ранее введенные строки s1, s2, s3 превратятся в вещественные числа:
// конвертируем введенные строки в вещественные числа a = Double.parseDouble(s1); b = Double.parseDouble(s2); c = Double.parseDouble(s3);
Для получения из строки вещественного числа используется метод Double.parseDouble(строка). Для получения из строки целого числа используется метод Integer.parseInt(строка). Аналогичные методы parseXxxx() существуют для других стандартных типов.
Когда требуется обратная конвертация – из чисел в строку, – чаще всего используют неявный вызов метода toString(), который вызывается всякий раз, когда требуется привести какой-либо тип к строке. Например, как здесь:
// вывод значений корней System.out.println("x1=" + x1); System.out.println("x2=" + x2);
Рассмотрим подробно код внутриprintln("x1=" + x1) По сути, выражение ("x1=" + x1)содержит операцию конкатенации (склеивания) двух строк “x1=” и той, которая получится из x1. Поскольку x1 имеет тип double, то чтобы получить из него строку, к нему неявно применяется конвертация. Выглядит на самом деле это так: “x1=" + Double.toString(x1));
Заметим, что метод toString() есть у каждого класса и типа Java, и поэтому любую переменную любого типа всегда можно автоматически конвертировать в строку.Но можно это сделать и вручную, как показано в примере ниже. Здесь вводятся целые числа N и M, вычисляется их произведение и выводится на экран. Например, при вводеN=2, M=5 будет выведена строка «P = 10»:
// main() – точка входа в программу // throwsIOException– сообщаем, что метод main() // можетвыбрасыватьисключенияввода/вывода publicstaticvoidmain(String[] args) throwsIOException { // Объявили переменные nи m intn, m;
//Создаем объект br для чтения данных из консоли BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Читаем из консоли N // выводим приглашение к вводу N System.out.print("Введите n: "); //Читаем из консоли строку StringsN = br.readLine(); //конвертируем строку в число n = Integer.parseInt(sN);
//Читаем из консоли M // выводим приглашение к вводу M System.out.print("Введитеm: "); //Читаем из консоли строку StringsM = br.readLine(); //конвертируем строку в число m = Integer.parseInt(sM);
//Вычисляем произведение intp = n * m;
//Готовим строку из числа p и выводим результат // Конвертируем целое число pв строку sP String sP = Integer.toString(p); // ВыводимстрокуsP вконсоль System.out.println("p = " + sP); } Пример – вычисление корней квадратного уравнения
Соберем все касающееся вычисления корней квадратного уравнения вместе и приведем весь код, который по введенным значениям коэффициентов a, b, c вычисляет и выводит корни квадратного уравнения.
// импорт=подключение необходимых классов importjava.io.BufferedReader; import java.io.InputStreamReader;
// класспрограммы publicclassClass2 {
// main() – точка входа в программму // throwsException– сообщаем, что метод main() // можетвыбрасыватьисключения publicstaticvoid main(String[] args) throws Exception { // объявляем все необходимые переменные doublea, b, c; double D; doublex1, x2;
//Создаем объект br для чтения данных из консоли BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Ввод A // выводим приглашение к вводу A System.out.print("A="); //Читаем из консоли строку String s1 = br.readLine();
// Ввод B // выводим приглашение к вводу B System.out.print("B="); //Читаем из консоли строку Strings2 = br.readLine();
// ВводC // выводим приглашение к вводу C System.out.print("C="); //Читаем из консоли строку Strings3 = br.readLine();
// конвертируем введенные строки в вещественные числа a = Double.parseDouble(s1); b = Double.parseDouble(s2); c = Double.parseDouble(s3);
// вычисление дискриминанта D = b * b– 4 * a * c; // вычисление корней x1 = (–b – Math.sqrt(D)) / (2 * a); x2 = (–b + Math.sqrt(D)) / (2 * a);
// вывод значений корней System.out.println("x1=" + Double.toString(x1)); System.out.println("x2=" + x2); } }
|
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 321. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |