我在编程方面非常新手。我在计算三角形的面积和周围面积时遇到问题。
我有一些代码,但是输出结果计算总是错误的。
function fungsiLuasSegitiga(a, b) {
var luas = (1 / 2) * a * b;
return luas;
}
function fungsiKllSegitiga(a, b) {
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
var kll = a + b + c;
return kll;
}
var x = prompt("masukkan nilai alas segitiga!");
var y = prompt("masukkan nilai tinggi segitiga!");
var d = fungsiLuasSegitiga(x, y);
var e = fungsiKllSegitiga(x, y);
alert("luas segitiga adalah " + d);
alert("keliling segitiga adalah " + e);
当我将数字3和4放入时,fungsiLuasSegitiga函数将其计算为345,但结果必须为12(3 + 4 + 5)。
答案 0 :(得分:2)
prompt
返回字符串而不是数字。因此,kll
的计算最终为"3" + "4" + 5
。这将字符串连接起来,而不是对数字求和。您需要先将其解析为一个数字,然后再使用unary plus operator或parseInt
x
和y
function fungsiLuasSegitiga(a, b) {
var luas = (1 / 2) * a * b;
return luas;
}
function fungsiKllSegitiga(a, b) {
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
var kll = a + b + c;
return kll;
}
var x = +prompt("masukkan nilai alas segitiga!");
var y = +prompt("masukkan nilai tinggi segitiga!");
var d = fungsiLuasSegitiga(x, y);
var e = fungsiKllSegitiga(x, y);
alert("luas segitiga adalah " + d);
alert("keliling segitiga adalah " + e);