Это моя попытка исправить коэффициент любой переменной математического уравнения для суммарных коэффициентов тех же переменных, что и «x^2 + x^2 + 2x-x-25» как «+ 1x^2 + 1x^2 + 2x-1x-25 ", а затем сделайте суммирование« 2x^2 + x-25 », Обратите внимание, что я выполнил процесс суммирования по другому методу.Как преобразовать нулевые коэффициенты для переменных в уравнениях «x^2 + x^2 + 2x-x-25» как «+ 1x^2 + 1x^2 + 2x-1x-25"?
private static String fixCoeff(String equ)
{
equ=equ.toLowerCase();//change equation variables to lower case
equ=equ.trim();//remove white spaces
String []characters={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
int index=-1;
String fixedCoeff="";
for (int i = 0; i < characters.length; i++)
{
if(!equ.contains(characters[i]))
{
continue;
}
//if a not found in equ i++
//if true execute this
while(equ.indexOf(characters[i],++index)!=-1)
{
index=equ.indexOf(characters[i]);
if(index==0)
{
fixedCoeff+="+1"+equ;
equ=fixedCoeff;
index=2;
break;
}
else
{
if (equ.charAt(index-1)=='+'||equ.charAt(index-1)=='-')
{
fixedCoeff=equ.substring(-1,index-1);
fixedCoeff+="1"+equ.substring(index-1,equ.length()-1);
equ=fixedCoeff;
index++;
break;
}
}
// if (index==equ.length()-1) {//if we found last element in equ is a variable
//break;
//}
}//end while
}//end for loop
return equ;
}//end fixCoeff
входные случаи:
- а
- х
- х^2
- х^2 + х^2
выходные случаи:
- + 1a
- + 1x
- + 1x^2
- + 1x^2 + 1x^2
Что делает ваш вывод кода? На ваш вопрос легче ответить, если вы расскажете нам, что происходит. – CubeJockey
@Trobbins отредактировал – user1854282
@ user1854282 проверить мой ответ, он выполняет то, что вы хотите, с меньшим количеством строк кода. – brso05