これは、「x^2+x^2+2x-x-25」のような同じ変数の合計係数の数学方程式変数の係数を「+1x^2+1x^2+2x-」に修正しようとする試みです。 1x-25"、合計を "2x^2+x-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
入力ケース:
- a
- バツ
- x^2
- x^2+x^2
出力ケース:
- +1a
- +1倍
- +1x^2
- +1x^2+1x^2