Я пытаюсь написать программу, которая может найти корни квадратного уравнения, используя Scala. Входные данные должны представлять собой квадратное уравнение в форме ax^2+bx+c (например, 5x^2+2x+3) в виде строки.
Мне удалось закодировать вычисление корней, но у меня возникли проблемы с извлечением коэффициентов из ввода. Вот код, который я написал для извлечения коэффициентов:
def getCoef(poly: String) = {
var aT: String = ""
var bT: String = ""
var cT: String = ""
var x: Int = 2
for (i <- poly.length - 1 to 0) {
val t: String = poly(i).toString
if (x == 2) {
if (t forall Character.isDigit) aT = aT + t(i)
else if (t == "^") {i = i + 1; x = 1}
}
else if (x == 1) {
if (t forall Character.isDigit) bT = bT + t(i)
else if (t == "+" || t == "-") x = 0
}
else if (x == 0) {
if (t forall Character.isDigit) cT = cT + t(i)
}
val a: Int = aT.toInt
val b: Int = bT.toInt
val c: Int = cT.toInt
(a, b, c)
}
}