Javascript 要知道三角形是否成直角,数学计算很好,但可以';似乎无法从输入中获取值
我尝试用Javascript 要知道三角形是否成直角,数学计算很好,但可以';似乎无法从输入中获取值,javascript,html,Javascript,Html,我尝试用parseInt将值更改为整数,但它仍然不起作用,每当我运行它时,它总是说NaN 我尝试直接将变量a1、b1和c1更改为number(例如,写入a1=3),然后效果很好。我还是个新手,不知道该怎么办 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi
parseInt
将值更改为整数,但它仍然不起作用,每当我运行它时,它总是说NaN
我尝试直接将变量a1
、b1
和c1
更改为number
(例如,写入a1=3
),然后效果很好。我还是个新手,不知道该怎么办
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>document</title>
<link rel="stylesheet" href="style1.css">
</head>
<body>
<h1> Find c or know if it's a right-angle triangle?</h1>
<div id="isIt">
<h5>Please enter the lengths of each side.</h5>
//input area where you enter the sides of the triangle
<input id="a" type="number" min="0.1" placeholder="a">
<input id="b" type="number" min="0.1" placeholder="b">
<input id="c" type="number" min="0.1" placeholder="c">
<br>
<button onclick="isIt()">is it a Triangle?</button>
<button onclick="findc()">What is c?</button>
</div>
<p id="answer"></p>
<script>
//where my problem is
var a1 = (document.getElementById('a').value;
var b1 = document.getElementById('b').value;
var c1 = document.getElementById('c').value;
var m = Math.sqrt( a1*a1 + b1*b1);
//function to know if its a triangle
function isIt() {
if (c1 === m) {
document.getElementById('answer').innerHTML = 'YES!';
}else{
var trueC0 = Math.sqrt((a*a) + (b*b));
var trueC2 = trueC0.toString();
document.getElementById('answer').innerHTML = "NO! c needs to be " + trueC2 + " too be a
right-angle triangle";
}
}
//function to calculate c
function findc() {
var c = Math.sqrt( a*a + b*b);
document.getElementById('answer').innerHTML = c.toString() ;
}
</script>
</body>
</html>
文件
找到c或者知道它是不是直角三角形?
请输入每边的长度。
//输入三角形边的区域
是三角形吗?
什么是c?
//我的问题在哪里
var a1=(document.getElementById('a').value;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
//函数来知道它是否是三角形
函数isIt(){
如果(c1==m){
document.getElementById('answer').innerHTML='YES!';
}否则{
var trueC0=Math.sqrt((a*a)+(b*b));
var trueC2=trueC0.toString();
document.getElementById('answer')。innerHTML=“否!c也必须是”+trueC2+”作为
直角三角形”;
}
}
//函数来计算c
函数findc(){
var c=数学sqrt(a*a+b*b);
document.getElementById('answer').innerHTML=c.toString();
}
此代码存在一些问题。首先,您在isIt
函数外声明了vara1 b1 c1
和m
。因此,这些变量仅在加载代码时创建和初始化,而不是在每次调用isIt
时创建和初始化。这意味着,当您调用isIt
时,这些变量是无效的不使用输入上的新值进行更新,并且使用页面加载上的任何值进行计算。第二个是这里var trueC0=Math.sqrt((a*a)+(b*b))
和这里var c=Math.sqrt(a*a+b*b);
您使用的是不存在的vara
和b
。这就是它返回Nan
的原因。我相信它们应该是a1
和b1
。下面是工作代码:
//函数来知道它是否是三角形
函数isIt(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
如果(c1==m){
document.getElementById('answer').innerHTML='YES!';
}否则{
var trueC0=Math.sqrt((a1*a1)+(b1*b1));
var trueC2=trueC0.toString();
document.getElementById('answer').innerHTML=“否!c也必须是“+trueC2+”直角三角形”;
}
}
//函数来计算c
函数findc(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
变量c=数学sqrt(a1*a1+b1*b1);
document.getElementById('answer').innerHTML=c.toString();
}
文件
找到c或者知道它是不是直角三角形?
请输入每边的长度。
//输入三角形边的区域
是三角形吗?
什么是c?
//我的问题在哪里
//函数来知道它是否是三角形
函数isIt(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
var c1=document.getElementById('c')。值;
var m=数学sqrt(a1*a1+b1*b1);
如果(c1==m){
document.getElementById('answer').innerHTML='YES!';
}否则{
document.getElementById('answer').innerHTML=“否!c也必须是“+m+”并且是直角三角形”
}
}
//函数来计算c
函数findc(){
var a1=document.getElementById('a')。值;
var b1=document.getElementById('b')。值;
变量c=数学sqrt(a1*a1+b1*b1);
document.getElementById('answer').innerHTML=c;
}
我编辑了你的标题,以便更多地解释你真正想要实现的目标。我还编辑了文本,因为其中包含了很多你不需要的东西,或者你想要解释的东西不清楚。我希望这有助于更好地理解你的问题。