Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Конвертация строк в число (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; просмотров: 278.

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