# JavaScript algorithm not working

• 01-17-2013, 02:11 AM
Taro
JavaScript algorithm not working
Hello,

I've been working on a basic script that determines a net value based on four user-input values. After all the values have been stored, the operators do their work in calculating the final solution. If you notice below, the values in the comments are what the literal version of the equation is made up of; (x2-x1) + (x3-x2) + (x4-x3)= y. In reference, if the snippet `n-j` and the other variables were converse, the answers came out to be opposite from each other, as in the absolute or negativity value.
PHP Code:

``` <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><script type="text/javascript">function jah(){var PH = document.getElementById('myDiv');if (PH)PH.innerHTML = "?";}//end of jah function</script><script type="text/javascript">function fourFunction(){var n=prompt("What is the first value?","0");n=parseFloat(n);if(isNaN(n)){alert("This input cannot be parsed into a number.");return;//x1}elsevar j=prompt("What is the second value?","0");j=parseFloat(j);if(isNaN(j)){alert("This input cannot be parsed into a number.");return;//x2}elsevar k=prompt("What is the third value?","0");k=parseFloat(k);if(isNaN(k)){alert("This input cannot be parsed into a number.");return;//x3}elsevar v=prompt("What is the fourth value?","0");v=parseFloat(v);if(isNaN(v)){alert("This input cannot be parsed into a number.");return;//x4}elsevar u = n-jvar q = j-kvar s = k-vvar b = u+q+svar MD = document.getElementById('myDiv');if (MD)MD.innerHTML = b;}//end of fourFunction()</script></head><center><h1>Net Value Calculator 1.0</h1><p>This script calculates the net value given a range of respective integers.</p><button OnClick="fourFunction()">Create List</button><br /><button OnClick="jah()">Reset</button><br /><br /><div id=myDiv>?</div></center></html>  ```
I think that the problem lies where the part of the code has the instantiated varaibles, along with their operators. I tried switching them out, reconfigured them, and even had to reference back, but came to no avail. With respect to the algorithm, 1.94, 1.95, 1.95, 1.95 works, but 0, 4, 0, 0 does not work because the solution came out to be 0 for some reason.
• 01-17-2013, 02:48 AM
Old Pedant
Ummm...I think you need to go back and take pre-algebra again.

If you do:
x1 = 0;
x2 = 4;
x3 = 0;
x4 = 0;

Then you do:
y = (x2-x1) + (x3-x2) + (x4-x3);

you will be doing:
y = (4 - 0) + (0 - 4) + (0 - 0)

which is
y = (4) + (-4) + 0

which is, correctly:
y = 0

*********

In any case, just going one step further into elementary algebra, why not SIMPLIFY this equation:
y = (x2-x1) + (x3-x2) + (x4-x3);

which becomes:
y = x2-x1+x3-x2+x4-x3;

which becomes
y = x2-x2 + x3-x3 - x1 + x4

which becomes
y = 0 + 0 - x1 + x4

which becomes
y = x4 - x1

In other words, the values entered for x2 and x3 *DO NOT MATTER*. The end result will only depend on x1 and x4.

Me thinks you have much much bigger problems than just your JavaScript. Which is actually working correctly.