Pythagorean定理计算器使用HTML和JavaScript

时间:2018-06-10 19:34:39

标签: javascript html pythagorean

我正在尝试使用HTML和Javascript编写毕达哥拉斯定理计算器,以便它可以找到给出两个边值的任何边,所以我使用if语句但似乎我无法理解为什么它没有& #39; t work

这里有HTML和JavaScript代码



function do_things() {
  var a = parseFloat(document.getElementById("a").value);
  var b = parseFloat(document.getElementById("b").value);
  var c = parseFloat(document.getElementById("c").value);
  var output = document.getElementById("output");

  if (a=0, b>0){
    var c = Math.sqrt(c*c - b*b)
    var node = document.createElement("LI");                 // Create a <li> node
    var textnode = document.createTextNode(c);              // Create a text node
    node.appendChild(textnode);                              // Append the text to <li>
    document.getElementById("output").appendChild(node);
  } else if (c=0, b>0){
    var c = Math.sqrt(a*a + b*b)
    console.log(0)
    var node = document.createElement("LI");                 // Create a <li> node
    var textnode = document.createTextNode(c);              // Create a text node
    node.appendChild(textnode);                              // Append the text to <li>
    document.getElementById("output").appendChild(node);
  }
}
&#13;
<h1>Calc</h1>
<p1>Calculate the Hypotnuse given the A and B value</p1>
<p>Side A: <input type="text" id="a"/></p>
<br>
<p>Side B: <input type="text" id="b"/></p>
<br>
<p>Hypotnuse: <input type="text" id="c"/></p>
<br>
 <button type="button" onclick="do_things()">Find the missing value</button>
<br>
<p id="output">The Missing hypotnuse</p>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

&#39; ===&#39;可能在这里返回false,因为你正在将值解析为float,这将给出0.00。

答案 1 :(得分:0)

(a=0, b>0)不是有效条件。 a = 0是指派,应该是a == 0a === 0,而,不能作为AND运算符,&&。因此,您需要将此条件更改为(a === 0 && b > 0)

但是您可以简化代码并使用更好的条件以及更好的DOM操作。这是你如何做到的。

  • 使用Number.isNaN检查给定输入是否实际为数字
  • 添加<span id="output"></span>来保存结果,比整个段落
  • 更容易操纵它
  • 如果您需要向某个元素添加纯文本
  • ,请使用.textContent

当且仅当提供了2个边且第3个边是NaN(空,但也是无效的数字)时,此代码保证执行计算

&#13;
&#13;
function do_things() {

  var a = parseFloat(document.getElementById("a").value);
  var b = parseFloat(document.getElementById("b").value);
  var c = parseFloat(document.getElementById("c").value);
  var output = document.getElementById("output");

  if (Number.isNaN(a) && !Number.isNaN(b) && !Number.isNaN(c)) {
    const a = Math.sqrt(c ** 2 - b ** 2);
    output.textContent = ' ' + a;
  }

  if (Number.isNaN(b) && !Number.isNaN(a) && !Number.isNaN(c)) {
    const b = Math.sqrt(c ** 2 - a ** 2);
    output.textContent = ' ' + b;
  }

  if (Number.isNaN(c) && !Number.isNaN(a) && !Number.isNaN(b)) {
    const c = Math.sqrt(a ** 2 + b ** 2);
    output.textContent = ' ' + c;
  }
}
&#13;
<h1>Calc</h1>
<p1>Calculate the Hypotnuse given the A and B value</p1>
<p>Side A: <input type="text" id="a"/></p>
<br>
<p>Side B: <input type="text" id="b"/></p>
<br>
<p>Hypotnuse: <input type="text" id="c"/></p>
<br>
 <button type="button" onclick="do_things()">Find the missing value</button>
<br>
<p >The Missing side is: <span id="output"></span></p>
&#13;
&#13;
&#13;