Предположим, что у меня есть полином -x^2 + 2x - 1 = 0. Он считывается из файла.Как обнаружить многочлены в Java
У меня есть код, который анализирует каждый символ полинома.
Я хочу создать дополнительный шаг, который компактирует многочлен (так что белые пробелы устраняются), поэтому я могу проверить, действительно ли строка является полиномом, который я могу легко сделать, просто проверив последний 2-й индекс многочлена который равен знаку равенства и нулевому значению: (= 0)
Проблема в том, что длина полинома имеет разную длину, что дало мне мысль использовать ArrayList. Проблема в том, что я не могу объявить, что мой ArrayList имеет тип Character, чтобы хранить каждый символ в последовательном индексе ArrayList.
public void createEquationNoWhiteSpaces(){
// it cannot be done because there is no ArrayList of characters
textArrayList = new ArrayList<String>();
for(int i = 0; i < text.length(); i++){
// Store the characters of the polynomial in an ArrayList
// because each polynomial has different length
if(text.charAt(i) != ' ')
textArrayList = text.charAt(i);
}
}
В общем, вы не можете просто проверить на «знак равенства и нулю, как это: (= 0)», чтобы проверить строка является ли многочлен. Что делать, если вашей программе была задана строка «e^x = 0»? Если ваш проблемный домен содержит ничего, кроме поиска root для многочленов, то вам не нужно беспокоиться об этом, но вопрос не делает этого ясным. –
Что не так со строками? или вы можете пойти на традиционное представление - вектор коэффициентов – radai
@AdamMihalcin Вот почему я хотел создать этот дополнительный шаг, который должен сделать метод charAt в строке и сохранить каждый символ, который не является белым пространством в ArrayList типа. Таким образом, даже если полином был удален, программа может приспособиться к этому. Но по какой-то причине я не могу создать ArrayList типа Character. – Nicholas