Вычисление математических формул
Вычисление математических формул рассмотрим на простом примере – вычислении корней квадратного уравнения.
Напомним, что уравнение вида называется квадратным при a отличном от нуля. Способ получения корней этого уравнения, известный большинству российских выпускников школ, выглядит так:
Сначала вычисляется дискриминант .
Затем, если дискриминант не отрицательный, то вычисляются 2 корня:
,
.
Объявим необходимые переменные для хранения аргументов и результатов вычислений.
double a, b, c;
double D;
double x1, x2;
Ввод коэффициентов a, b, c мы разберем позже.
Код, вычисляющий дискриминант и сами корни, представлен ниже:
D = b * b – 4 * a * c;
x1 = (–b – Math.sqrt(D)) / (2 * a);
x2 = (–b + Math.sqrt(D)) / (2 * a);
Ввод строк через консоль
Чтобы в программе получить строку, введенную с консоли, требуется работать с System.in. Существует несколько способов работы с System.in. Сейчас мы разберем только один способ работы – через буферизированный читательBufferedReader:
//Создаем объект br для чтения данных из консоли
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
//Читаем из консоли строку 1
Strings1 = br.readLine();
//Читаем из консоли строку 2
Strings2 = br.readLine();
//Читаем из консоли строку 3
Strings3 = br.readLine();
Конвертация строк в число (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);
}
Дата добавления: 2018-04-04; просмотров: 430; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!