# Representation of an array as a polynomial

What this method should do is take an array of doubles and convert them into a polynomial, for example, if the array is given was `[2.0, 3.0, -2.0]` the method’s output would be `2.0x^2 + 3.0x^1 - 2.0`. What I have done is created two loops however, when I do this both outputs are separated as expected. My output looks like this `2.0 1.0 2.0 1.0 x^3 x^2 x^1`, if there is a way to have the exponents printed after the coefficient that would solve this issue.

```public String printPoly(Double[] doubles) {
String polynomialString = "";

for (int i = 0; i < doubles.length; i++) {
polynomialString += doubles[i] + " ";
}

for (int j = doubles.length - 1; j >= 0; j--) {
if (j == 0) {
polynomialString += " ";
break;
}
polynomialString += "x^" + j + " ";
}
return polynomialString;
}
```

You can build the resultString using one for-loop. Initialize a counter variable which you count backwards which is representing your ^3 part. This variable starts at your array.length-1 end runs down to zero in the iterations this is how you can create

```4.0 x^3
2.0 x^2
0.5 x^1
2.0 x^0
```

It runs basically backwards so you should decrement it in each iteration

```int backCounter = doubles.length-1;
```

```polynomialString += doubles[j] + "x^" + backCounter + " ";

backCounter--;
```

Here is a working solution

```package so;

import java.util.*;

public class RemoveString {

public static void main(String[] args) {
Double[] someNumbers = { 2.0, 3.0, 1.0, 0.5 };
System.out.println(s);
}

public static String printPoly(Double[] doubles) {

String polynomialString = "";
int backwardsCounter = doubles.length - 1;

for (int i = 0; i < doubles.length; i++) {
polynomialString += doubles[i] + "x^" + backwardsCounter + " ";
backwardsCounter --;
}

return polynomialString;
}
}
```

Produces the output

```2.0x^3 3.0x^2 1.0x^1 0.5x^0
```
User contributions licensed under: CC BY-SA
6 People found this is helpful