- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在上中学,我们现在正在学习 HTML 和 javascript。我正在制作一个计算器(在互联网的帮助下),我发现了 eval() 函数。我们基本上还没有学到,所以我需要将其更改为其他内容。这是我的计算器的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Számológép</title>
</head>
<body>
<script>
function beker(szam) {
document.szamologep.eredmeny.value = document.szamologep.eredmeny.value + szam;
}
function szamol() {
var a = document.szamologep.eredmeny.value;
if (a) {
document.szamologep.eredmeny.value = eval(a)
}
}
</script>
<h2 align="center">Számológép!</h2>
<form name="szamologep">
<table border="2" align="center">
<tr>
<td colspan="4"><input type="text" name="eredmeny"/></td>
</tr>
<tr>
<td><input type="button" value="1" onclick="beker(1)"/></td>
<td><input type="button" value="2" onclick="beker(2)"/></td>
<td><input type="button" value="3" onclick="beker(3)"/></td>
<td><input type="button" value="+" onclick="beker('+')"/></td>
</tr>
<tr>
<td><input type="button" value="4" onclick="beker(4)"/></td>
<td><input type="button" value="5" onclick="beker(5)"/></td>
<td><input type="button" value="6" onclick="beker(6)"/></td>
<td><input type="button" value="-" onclick="beker('-')"/></td>
</tr>
<tr>
<td><input type="button" value="7" onclick="beker(7)"/></td>
<td><input type="button" value="8" onclick="beker(8)"/></td>
<td><input type="button" value="9" onclick="beker(9)"/></td>
<td><input type="button" value="*" onclick="beker('*')"/></td>
</tr>
<tr>
<td><input type="reset" value="C"/></td>
<td><input type="button" value="0" onclick="beker(0)"/></td>
<td><input type="button" value="=" onclick="szamol()"/></td>
<td><input type="button" value="/" onclick="beker('/')"/></td>
</tr>
</table>
</form>
</body>
</html>
所以我需要在 szamol() 中使用其他方法。
我们制作了另一个带有单选按钮的计算器。我也添加了代码,这样您就可以看到我们学到了什么。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Névtelen 1</title>
<script>
function szamol()
{
var a=parseInt(document.urlap.szam1.value);
var b=parseInt(document.urlap.szam2.value);
var e=0;
if(document.urlap.muvelet[0].checked)e=a+b;
if(document.urlap.muvelet[1].checked)e=a-b;
if(document.urlap.muvelet[2].checked)e=a*b;
if((document.urlap.muvelet[3].checked) &&(b!=0))e=a/b;
if((document.urlap.muvelet[3].checked) &&(b==0))e="Nullával nem osztunk";
if(document.urlap.muvelet[4].checked)
{
e=1;
for(i=1;i<=b;i++)
e=e*a;
}
document.urlap.eredmeny.value=e;
}
</script>
</head>
<body>
<form name="urlap">
<table>
<tr>
<td>Szam1<input type="number" name="szam1" value="0">
<td>Szam2<input type="number" name="szam2" value="0">
</tr>
<tr>
<td>Összeadás<input type="radio" name="muvelet" checked>
Kivon<input type="radio" name="muvelet">
Szoroz<input type="radio" name="muvelet">
Oszt<input type="radio" name="muvelet">
Hatvany<input type="radio" name="muvelet">
</tr>
<tr>
<td><input type="button" value="OK" onclick="szamol()">
<td><input type="reset" value="Reset">
</tr>
<tr>
<td>Eredmény:<input type="text" name="eredmeny">
</tr>
</table>
</form>
</body>
</html>
最佳答案
继续 comment left by Nikos M.您需要一种方法来确定您使用的是哪个运算符。下面的代码将仅说明一个运算符,但如果您只需要涵盖这些内容,它就会满足您的要求。
为了澄清上面的粗体文本,这将适用于看起来像这样的表达式:
X + Y
, X - Y
, X * Y
, 和 X / Y
.
但不适用于以下表达式:
X + Y + Z
, X * Y + Z / P
等等
function szamol() {
var a = document.szamologep.eredmeny.value;
if (a) {
var answer;
var split = a.split(/([+,\-,*,\/]){1}/g);
console.log('Split: ' + split);
var first = Number(split[0]);
var operator = String(split[1]);
var second = Number(split[2]);
switch(operator){
case '+':
answer = first + second;
break;
case '-':
answer = first - second;
break;
case '*':
answer = first * second;
break;
case '/':
answer = first / second;
break;
}
document.szamologep.eredmeny.value = answer;
}
}
我们设置空 answer
变量,然后我们拆分 a
任何运算符的值 +, -, *, \
使用正则表达式。我们的第一个元素split
是第一个数字,我们的 split
的第二个元素是我们的运算符,也是我们 split
的第三个元素是第二个数字。
在我们有了我们的作品之后,我们创建了一个 switch
检查我们正在使用哪个运算符的案例,并根据它进行数学计算。因为输入是文本输入 - JavaScript 假设我们正在使用字符串 - 这就是为什么我必须 typecast
first
和 second
变量为 Number()
设置它们时。
关于Javascript/HTML 计算器,结果需要其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53305328/
我目前正在尝试使用 ParaView Calculator-Filter 将给定的笛卡尔坐标 (x,y,z) 转换为球坐标 (r, theta, phi),其中 theta 是极角,phi 是方位角。
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我有这个问题,我想显示如果0/0,输出是:“不能将0除以自身”。如何调整我的代码以便可以显示该输出?如果是这样,我应该使用什么代码才能实现我的目标? 下面是我的代码: #include using
我正在尝试创建一个也支持负数的计算器,并最终创建一个 lisp 风格的树。 我像这样定义词法分析器规则: INT :'-'? [0-9]+ ; LBRACKET : '('; RBRACKET :
我正在开发一个基本的 JavaScript 计算器,我也希望能够开始计算负数。现在,如果我在输入数字之前单击“-”,“-”将不会显示,因此我只能从正数开始。有人可以告诉我如何将其包含在我的代码中吗?
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
这是我第一次尝试 Java。该项目是一个计算器,它需要一个数字、一个运算符(operator)信号(+、-、*、/)和另一个数字来创建方程并给出其最终值,然后询问用户是否要重新启动程序另一个方程或不是
所以我写了这个脚本;它有点像我找到并拼凑起来的计算器的大杂烩。 KeyListener 来自 Java - oracle - .com 网站。顺便说一句,我对此非常陌生,不知道我在做什么。 我正在尝试
我正在尝试创建一个也支持负数的计算器,并最终创建一个 lisp 风格的树。 我像这样定义词法分析器规则: INT :'-'? [0-9]+ ; LBRACKET : '('; RBRACKET :
我正在开发一个基本的 JavaScript 计算器,我也希望能够开始计算负数。现在,如果我在输入数字之前单击“-”,“-”将不会显示,因此我只能从正数开始。有人可以告诉我如何将其包含在我的代码中吗?
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我开始在java中创建一个计算器,我试图循环遍历字符串输入,如果输入中有任何整数,则将它们添加到ArrayList calcOperands中。在 parseInput() 方法中,我使用 charA
我正忙着制作计算器,但不知怎的,整数没有被使用,我不知道为什么。我尝试修复它,但我不知道该怎么做。我使用带有事件的按钮来计算答案,也许有问题。这是我的代码:顺便说一句,我使用 Eclipse
我的主类中有这段代码。我的问题是,GPA 是用总分除以类(class)来计算的。它没有给我完整的号码。 EX,如果总数为 14,类(class)为 4,则为 3.5,我的代码只给我 3.0。有谁知道为
我需要创建一个可以加、减、乘、除、绝对值和舍入的计算器。这是我到目前为止所拥有的 import java.util.Scanner; public class Calculator { pub
我是一名 Java Noob,正在研究 GUI 计算器,但我刚刚来到这里..我已经有了按钮,我需要绑定(bind)这些数字并存储在运算符 ( + - */) 之间的某个位置以显示在我的 JTextAr
这是我的作业。但是,我无法让结果发挥作用。我希望它打印出来为: > 2*7*6 2 * 7 ---- 14 * 6 ---- 84 等等。我希望无论我输入多少个数字,代码都能正常工作
这个问题已经有答案了: What does a "Cannot find symbol" or "Cannot resolve symbol" error mean? (18 个回答) 已关闭 6 年
大家好,感谢您帮助我。 我用 C# 制作了这个计算器,但遇到了一个问题。 当我添加像 5+5+5 这样的东西时,它给了我正确的结果,但是当我想减去两个以上的数字并且还想除或乘以两个以上的数字时,我没有
我一直在开发计算器作为自己的学习项目。它工作正常,只是我无法弄清楚如何阻止人们添加应用程序破坏输入,例如 1++-*/4。我尝试了各种方法,例如将当前显示拆分为一个数组,并将其与具有所有运算符的另一个
我是一名优秀的程序员,十分优秀!