包含javaatctan的词条
今天给各位分享javaatctan的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java计算器代码,请帮我修改
- 2、已知圆心坐标,求圆上任意两点的角度 用java算出来
- 3、java问题
- 4、java中有反正弦,反余弦,反正切,反余切的方法吗
- 5、java arctan
- 6、请问谁能用java语言,为我写一个计算器的小程序
java计算器代码,请帮我修改
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title科学计算器/title
style
!--
BODY {font-size: 12px;background-color: #d4d4d4;color: #0001fC;background-attachment: fixed;}
td{font-size:12px; font-color:#000000}
//--
/style
script language="javascript"
!--
var endNumber=true
var mem=0
var carry=10
var hexnum="0123456789abcdef"
var angle="d"
var stack=""
var level="0"
var layer=0
//数字键
function inputkey(key)
{
var index=key.charCodeAt(0);
if ((carry==2 (index==48 || index==49))
|| (carry==8 index=48 index=55)
|| (carry==10 (index=48 index=57 || index==46))
|| (carry==16 ((index=48 index=57) || (index=97 index=102))))
if(endNumber)
{
endNumber=false
document.calc.display.value = key
}
else if(document.calc.display.value == null || document.calc.display.value == "0")
document.calc.display.value = key
else
document.calc.display.value += key
}
function changeSign()
{
if (document.calc.display.value!="0")
if(document.calc.display.value.substr(0,1) == "-")
document.calc.display.value = document.calc.display.value.substr(1)
else
document.calc.display.value = "-" + document.calc.display.value
}
//函数键
function inputfunction(fun,shiftfun)
{
endNumber=true
if (document.calc.shiftf.checked)
document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry))),carry)
else
document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry))),carry)
document.calc.shiftf.checked=false
document.calc.hypf.checked=false
inputshift()
}
function inputtrig(trig,arctrig,hyp,archyp)
{
if (document.calc.hypf.checked)
inputfunction(hyp,archyp)
else
inputfunction(trig,arctrig)
}
//运算符
function operation(join,newlevel)
{
endNumber=true
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
while (newlevel!=0 (newlevel=(level.charAt(level.length-1))))
{
temp=parse(temp)
level=level.slice(0,-1)
}
if (temp.match(/^(.*\d[\+\-\*\/\%\^\\|x])?([+-]?[0-9a-f\.]+)$/))
document.calc.display.value=RegExp.$2
stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join
document.calc.operator.value=" "+join+" "
level=level+newlevel
}
//括号
function addbracket()
{
endNumber=true
document.calc.display.value=0
stack=stack+"("
document.calc.operator.value=" "
level=level+0
layer+=1
document.calc.bracket.value="(="+layer
}
function disbracket()
{
endNumber=true
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
while ((level.charAt(level.length-1))0)
{
temp=parse(temp)
level=level.slice(0,-1)
}
document.calc.display.value=temp
stack=stack.substr(0,stack.lastIndexOf("("))
document.calc.operator.value=" "
level=level.slice(0,-1)
layer-=1
if (layer0)
document.calc.bracket.value="(="+layer
else
document.calc.bracket.value=""
}
//等号
function result()
{
endNumber=true
while (layer0)
disbracket()
var temp=stack+document.calc.display.value
while ((level.charAt(level.length-1))0)
{
temp=parse(temp)
level=level.slice(0,-1)
}
document.calc.display.value=temp
document.calc.bracket.value=""
document.calc.operator.value=""
stack=""
level="0"
}
//修改键
function backspace()
{
if (!endNumber)
{
if(document.calc.display.value.length1)
document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length - 1)
else
document.calc.display.value=0
}
}
function clearall()
{
document.calc.display.value=0
endNumber=true
stack=""
level="0"
layer=""
document.calc.operator.value=""
document.calc.bracket.value=""
}
//转换键
function inputChangCarry(newcarry)
{
endNumber=true
document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry))
carry=newcarry
document.calc.sin.disabled=(carry!=10)
document.calc.cos.disabled=(carry!=10)
document.calc.tan.disabled=(carry!=10)
document.calc.bt.disabled=(carry!=10)
document.calc.pi.disabled=(carry!=10)
document.calc.e.disabled=(carry!=10)
document.calc.kp.disabled=(carry!=10)
document.calc.k2.disabled=(carry=2)
document.calc.k3.disabled=(carry=2)
document.calc.k4.disabled=(carry=2)
document.calc.k5.disabled=(carry=2)
document.calc.k6.disabled=(carry=2)
document.calc.k7.disabled=(carry=2)
document.calc.k8.disabled=(carry=8)
document.calc.k9.disabled=(carry=8)
document.calc.ka.disabled=(carry=10)
document.calc.kb.disabled=(carry=10)
document.calc.kc.disabled=(carry=10)
document.calc.kd.disabled=(carry=10)
document.calc.ke.disabled=(carry=10)
document.calc.kf.disabled=(carry=10)
}
function inputChangAngle(angletype)
{
endNumber=true
angle=angletype
if (angle=="d")
document.calc.display.value=radiansToDegress(document.calc.display.value)
else
document.calc.display.value=degressToRadians(document.calc.display.value)
endNumber=true
}
function inputshift()
{
if (document.calc.shiftf.checked)
{
document.calc.bt.value="deg "
document.calc.ln.value="exp "
document.calc.log.value="expd"
if (document.calc.hypf.checked)
{
document.calc.sin.value="ahs "
document.calc.cos.value="ahc "
document.calc.tan.value="aht "
}
else
{
document.calc.sin.value="asin"
document.calc.cos.value="acos"
document.calc.tan.value="atan"
}
document.calc.sqr.value="x^.5"
document.calc.cube.value="x^.3"
document.calc.floor.value="小数"
}
else
{
document.calc.bt.value="d.ms"
document.calc.ln.value=" ln "
document.calc.log.value="log "
if (document.calc.hypf.checked)
{
document.calc.sin.value="hsin"
document.calc.cos.value="hcos"
document.calc.tan.value="htan"
}
else
{
document.calc.sin.value="sin "
document.calc.cos.value="cos "
document.calc.tan.value="tan "
}
document.calc.sqr.value="x^2 "
document.calc.cube.value="x^3 "
document.calc.floor.value="取整"
}
}
//存储器部分
function clearmemory()
{
mem=0
document.calc.memory.value=" "
}
function getmemory()
{
endNumber=true
document.calc.display.value=decto(mem,carry)
}
function putmemory()
{
endNumber=true
if (document.calc.display.value!=0)
{
mem=todec(document.calc.display.value,carry)
document.calc.memory.value=" M "
}
else
document.calc.memory.value=" "
}
function addmemory()
{
endNumber=true
mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry))
if (mem==0)
document.calc.memory.value=" "
else
document.calc.memory.value=" M "
}
function multimemory()
{
endNumber=true
mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry))
if (mem==0)
document.calc.memory.value=" "
else
document.calc.memory.value=" M "
}
//十进制转换
function todec(num,oldcarry)
{
if (oldcarry==10 || num==0) return(num)
var neg=(num.charAt(0)=="-")
if (neg) num=num.substr(1)
var newnum=0
for (var index=1;index=num.length;index++)
newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1))
if (neg)
newnum=-newnum
return(newnum)
}
function decto(num,newcarry)
{
var neg=(num0)
if (newcarry==10 || num==0) return(num)
num=""+Math.abs(num)
var newnum=""
while (num!=0)
{
newnum=hexnum.charAt(num%newcarry)+newnum
num=Math.floor(num/newcarry)
}
if (neg)
newnum="-"+newnum
return(newnum)
}
//表达式解析
function parse(string)
{
if (string.match(/^(.*\d[\+\-\*\/\%\^\\|x\])?([+-]?[0-9a-f\.]+)([\+\-\*\/\%\^\\|x\])([+-]?[0-9a-f\.]+)$/))
return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4))
else
return(string)
}
//数学运算和位运算
function cypher(left,join,right)
{
left=todec(left,carry)
right=todec(right,carry)
if (join=="+")
return(decto(parseFloat(left)+parseFloat(right),carry))
if (join=="-")
return(decto(left-right,carry))
if (join=="*")
return(decto(left*right,carry))
if (join=="/" right!=0)
return(decto(left/right,carry))
if (join=="%")
return(decto(left%right,carry))
if (join=="")
return(decto(leftright,carry))
if (join=="|")
return(decto(left|right,carry))
if (join=="^")
return(decto(Math.pow(left,right),carry))
if (join=="x")
return(decto(left^right,carry))
if (join=="")
return(decto(leftright,carry))
alert("除数不能为零")
return(left)
}
//函数计算
function funcalc(fun,num)
{
with(Math)
{
if (fun=="pi")
return(PI)
if (fun=="e")
return(E)
if (fun=="abs")
return(abs(num))
if (fun=="ceil")
return(ceil(num))
if (fun=="round")
return(round(num))
if (fun=="floor")
return(floor(num))
if (fun=="deci")
return(num-floor(num))
if (fun=="ln" num0)
return(log(num))
if (fun=="exp")
return(exp(num))
if (fun=="log" num0)
return(log(num)*LOG10E)
if (fun=="expdec")
return(pow(10,num))
if (fun=="cube")
return(num*num*num)
if (fun=="cubt")
return(pow(num,1/3))
if (fun=="sqr")
return(num*num)
if (fun=="sqrt" num=0)
return(sqrt(num))
if (fun=="!")
return(factorial(num))
if (fun=="recip" num!=0)
return(1/num)
if (fun=="dms")
return(dms(num))
if (fun=="deg")
return(deg(num))
if (fun=="~")
return(~num)
if (angle=="d")
{
if (fun=="sin")
return(sin(degressToRadians(num)))
if (fun=="cos")
return(cos(degressToRadians(num)))
if (fun=="tan")
return(tan(degressToRadians(num)))
if (fun=="arcsin" abs(num)=1)
return(radiansToDegress(asin(num)))
if (fun=="arccos" abs(num)=1)
return(radiansToDegress(acos(num)))
if (fun=="arctan")
return(radiansToDegress(atan(num)))
}
else
{
if (fun=="sin")
return(sin(num))
if (fun=="cos")
return(cos(num))
if (fun=="tan")
return(tan(num))
if (fun=="arcsin" abs(num)=1)
return(asin(num))
if (fun=="arccos" abs(num)=1)
return(acos(num))
if (fun=="arctan")
return(atan(num))
}
if (fun=="hypsin")
return((exp(num)-exp(0-num))*0.5)
if (fun=="hypcos")
return((exp(num)+exp(-num))*0.5)
if (fun=="hyptan")
return((exp(num)-exp(-num))/(exp(num)+exp(-num)))
if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")
{
alert("对不起,公式还没有查到!")
return(num)
}
alert("超出函数定义范围")
return(num)
}
}
function factorial(n)
{
n=Math.abs(parseInt(n))
var fac=1
for (;n0;n-=1)
fac*=n
return(fac)
}
function dms(n)
{
var neg=(n0)
with(Math)
{
n=abs(n)
var d=floor(n)
var m=floor(60*(n-d))
var s=(n-d)*60-m
}
var dms=d+m/100+s*0.006
if (neg)
dms=-dms
return(dms)
}
function deg(n)
{
var neg=(n0)
with(Math)
{
n=abs(n)
var d=floor(n)
var m=floor((n-d)*100)
var s=(n-d)*100-m
}
var deg=d+m/60+s/36
if (neg)
deg=-deg
return(deg)
}
function degressToRadians(degress)
{
return(degress*Math.PI/180)
}
function radiansToDegress(radians)
{
return(radians*180/Math.PI)
}
//界面
//--
/script
/head
!--written by GoldHuman li hai--
!--2000.8--
body
div align="center"
form name=calc
table border="1" width="500" height="250"
tr
td height=50
table width=500
td width="133"
/td
td width="353"
div align=center
input type=text name="display" value="0" readonly size="40"
/div
/td
/table
/td
/tr
tr
td
table width=500
tr
td width=290
input type=radio name="carry" onClick="inputChangCarry(16)"
十六进制
input type=radio name="carry" checked onClick="inputChangCarry(10)"
十进制
input type=radio name="carry" onClick="inputChangCarry(8)"
八进制
input type=radio name="carry" onClick="inputChangCarry(2)"
二进制
/td
td
/td
td width=135
input type=radio name="angle" value="d" onClick="inputChangAngle('d')" checked
角度制
input type=radio name="angle" value="r" onClick="inputChangAngle('r')"
弧度制
/td
/tr
/table
table width=500
tr
td width=170
input name="shiftf" type="checkbox" onclick="inputshift()"上档功能
input name="hypf" type="checkbox" onclick="inputshift()"双曲函数
/td
td
input name="bracket" value="" type=text size=3 readonly style="background-color=lightgrey"
input name="memory" value="" type=text size=3 readonly style="background-color=lightgrey"
input name="operator" value="" type=text size=3 readonly style="background-color=lightgrey"
/td
td width=183
input type="button" value=" 退格 "
onclick="backspace()" style="color=red"
input type="button" value=" 清屏 "
onClick="document.calc.display.value = 0 " style="color=red"
input type="button" value=" 全清"
onClick="clearall()" style="color=red"
/td
/tr
/table
table width=500
tr
td
table
tr align=center
td
input name=pi type="button" value=" PI "
onClick="inputfunction('pi','pi')" style="color=blue"
/td
td
input name=e type="button" value=" E "
onClick="inputfunction('e','e')" style="color=blue"
/td
td
input name=bt type="button" value="d.ms"
onClick="inputfunction('dms','deg')" style="color=#ff00ff"
/td
/tr
tr align=center
td
input type="button" value=" ( "
onClick="addbracket()" style="color=#ff00ff"
/td
td
input type="button" value=" ) "
onClick="disbracket()" style="color=#ff00ff"
/td
td
input name=ln type="button" value=" ln "
onClick="inputfunction('ln','exp')" style="color=#ff00ff"
/td
/tr
tr align=center
td
input name=sin type="button" value="sin "
onClick="inputtrig('sin','arcsin','hypsin','ahypsin')" style="color=#ff00ff"
/td
td
input type="button" value="x^y "
onClick="operation('^',7)" style="color=#ff00ff"
/td
td
input name=log type="button" value="log "
onClick="inputfunction('log','expdec')" style="color=#ff00ff"
/td
/tr
tr align=center
td
input name=cos type="button" value="cos "
onClick="inputtrig('cos','arccos','hypcos','ahypcos')" style="color=#ff00ff"
/td
td
input name=cube type="button" value="x^3 "
onClick="inputfunction('cube','cubt')" style="color=#ff00ff"
/td
td
input type="button" value=" n! "
onClick="inputfunction('!','!')" style="color=#ff00ff"
/td
/tr
tr align=center
td
input name=tan type="button" value="tan "
onClick="inputtrig('tan','arctan','hyptan','ahyptan')" style="color=#ff00ff"
/td
td
input name=sqr type="button" value="x^2 "
onClick="inputfunction('sqr','sqrt')" style="color=#ff00ff"
/td
td
input type="button" value="1/x "
onClick="inputfunction('recip','recip')" style="color=#ff00ff"
/td
/tr
/table
/td
td width=30
/td
td
table
tr
td
input type="button" value=" 储存 "
onClick="putmemory()" style="color=red"
/td
/tr
td
input type="button" value=" 取存 "
onClick="getmemory()" style="color=red"
/td
/tr
tr
td
input type="button" value=" 累存 "
onClick="addmemory()" style="color=red"
/td
/tr
tr
td
input type="button" value=" 积存 "
onClick="multimemory()" style="color=red"
/td
/tr
tr
td height="33"
input type="button" value=" 清存 "
onClick="clearmemory()" style="color=red"
/td
/tr
/table
/td
td width=30
/td
td
table
tr align=center
td
input name=k7 type="button" value=" 7 "
onClick="inputkey('7')" style="color=blue"
/td
td
input name=k8 type="button" value=" 8 "
onClick="inputkey('8')" style="color=blue"
/td
td
input name=k9 type="button" value=" 9 "
onClick="inputkey('9')" style="color=blue"
/td
td
input type="button" value=" / "
onClick="operation('/',6)" style="color=red"
/td
td
input type="button" value="取余"
onClick="operation('%',6)" style="color=red"
/td
td
input type="button" value=" 与 "
onClick="operation('',3)" style="color=red"
/td
/tr
tr align=center
td
input name=k4 type="button" value=" 4 "
onClick="inputkey('4')" style="color=blue"
/td
td
input name=k5 type="button" value=" 5 "
onClick="inputkey('5')" style="color=blue"
/td
td
input name=k6 type="button" value=" 6 "
onClick="inputkey('6')" style="color=blue"
/td
td
input type="button" value=" * "
onClick="operation('*',6)" style="color=red"
/td
td
input name=floor type="button" value="取整"
onClick="inputfunction('floor','deci')" style="color=red"
/td
td
input type="button" value=" 或 "
onClick="operation('|',1)" style="color=red"
/td
/tr
tr align=center
td
input type="button" value=" 1 "
onClick="inputkey('1')" style="color=blue"
/td
td
input name=k2 type="button" value=" 2 "
onClick="inputkey('2')" style="color=blue"
/td
td
input name=k3 type="button" value=" 3 "
onClick="inputkey('3')" style="color=blue"
/td
td
input type="button" value=" - "
onClick="operation('-',5)" style="color=red"
/td
td
input type="button" value="左移"
onClick="operation('',4)" style="color=red"
/td
td
input type="button" value=" 非 "
onClick="inputfunction('~','~')" style="color=red"
/td
/tr
tr align=center
td
input type="button" value=" 0 "
onClick="inputkey('0')" style="color=blue"
/td
td
input type="button" value="+/-"
onClick="changeSign()" style="color=blue"
/td
td
input name=kp type="button" value=" . "
onClick="inputkey('.')" style="color=blue"
/td
td
input type="button" value=" + "
onClick="operation('+',5)" style="color=red"
/td
td
input type="button" value=" = "
onClick="result()" style="color=red"
/td
td
input type="button" value="异或"
onClick="operation('x',2)" style="color=red"
/td
/tr
tr align=center
td
input name=ka type="button" value=" A "
onClick="inputkey('a')" style="color=blue" disabled=true
/td
td
input name=kb type="button" value=" B "
onClick="inputkey('b')" style="color=blue" disabled=true
/td
td
input name=kc type="button" value=" C "
onClick="inputkey('c')" style="color=blue" disabled=true
/td
td
input name=kd type="button" value=" D "
onClick="inputkey('d')" style="color=blue" disabled=true
/td
td
input name=ke type="button" value=" E "
onClick="inputkey('e')" style="color=blue" disabled=true
/td
td
input name=kf type="button" value=" F "
onClick="inputkey('f')" style="color=blue" disabled=true
/td
/tr
/table
/td
/tr
/table
/td
/tr
/table
/form
/div
/body
/html
已知圆心坐标,求圆上任意两点的角度 用java算出来
平面直角坐标系中,圆心坐标为(x0,y0)则圆上两点A(x1,y1)到B(x2,y2)的角度为:θ=arctan[(y2-y0)/(x2-x0)]-arctan[(y1-y0)/(x1-x0)];--------------特殊情况:平面直角坐标系中,圆心坐标为坐标原点(0,0)则圆上两点A(x1,y1)到B(x2,y2)的角度为:θ=arctan(y2/x2)-arctan(y1/x1);--------------在平面极坐标系中,若圆心为极点。则圆上两点A(r,θ1)到B(r,θ2)的角度为θ=θ2-θ1.
java问题
你的代码太乱了~~
给你改了改,差不多了,你把while(fab(t)=p); 里的fab()方法搞定估计就没问题了
public class arctan {
public static void main(String args[])
{
double z=0d,m=0d;
double y=16*arctan(1/5);
z=4*arctan(1/239);
m=y-z;
System.out.println(m);
}
static double arctan(double x)
{
double g=0,t=x,p=0.000001;
int n=0;
do
{
g=g+t;
n++;
t=-t*x*x/(2*n+1);
}while(fab(t)=p);
return g;
}
}
java中有反正弦,反余弦,反正切,反余切的方法吗
有这个工具包的,在java.math.Math类常中。
Math.PI 记录的圆周率
Math.sin 正弦函数
Math.asin 反正弦函数
Math.cos 余弦函数
Math.acos 反余弦函数
Math.tan 正切函数
Math.atan 反正切函数
Math.atan2 商的反正切函数
Math.toDegrees 弧度转化为角度
Math.toRadians 角度转化为弧度
java arctan
java arctan是什么,让我们一起了解一下?
arctan是java中数学运算的三角函数方法,tan() 三角正切,通过编程Java代码实现,常用的还有cos() 三角余弦,sin()为 三角正弦,asin() 正弦的反函数,cos() 余弦的反函数,tan() 正切的反函数。
他的源代码如下:
public class MainTest { public static void main(String[] args) { //求sin值 double sin = Math.sin(3.14); System.out.println("sin3.14=" + sin); //求cos值 double cos = Math.cos(0); System.out.println("cos0=" + cos); //求tan值 double tan = Math.tan(0.785); System.out.println("tan0.785=" + tan); //求arcsin double arcsin = Math.asin(1); System.out.println("arcsin1 = " + arcsin); //求arccos double arccos = Math.acos(1); System.out.println("arccos = " + arccos); //求arctan double arctan = Math.atan(30); System.out.println("arctan30 = " + arctan); //求弧度 double radians = Math.toRadians(180); System.out.println("180度角的弧度为" + radians); //求角度 double angle = Math.toDegrees(3.141592653589793); System.out.println("π的角度数为" + angle); //求以e为底的指数 double exp = Math.exp(1); System.out.println("以e为底指数为1的数为" + exp); //求以e为底e的平方的对数 double log = Math.log(Math.E * Math.E); System.out.println("以e为底e的平方的对数" + log); //求以10为底100的对数 double log10 = Math.log10(100); System.out.println("以10为底100的对数" + log10); //求100的平方根 double sqrt = Math.sqrt(100); System.out.println("100的平方根是" + sqrt); //求27的立方根 double cbrt = Math.cbrt(27); System.out.println("27的立方根是" + cbrt); //求10除以3的余数 double rest = Math.IEEEremainder(10, 3); System.out.println("10除以3的余数为" + rest); //求0.9向上取整 double ceil = Math.ceil(0.9); System.out.println("0.9向上取整" + ceil); //求2.49向下取整 double floor = Math.floor(2.49); System.out.println("2.49向下取整" + floor); //求最接近参数的整数值(若有两个满足条件的数据则取为偶数的数据) double rint = Math.rint(3.5); System.out.println("最接近参数的整数值" + rint); //获得(1,1)坐标与x轴夹角度数 double atan2 = Math.atan2(1, 1); System.out.println("坐标(1,1)的极坐标为" + atan2); //求3的5次方 double pow = Math.pow(3, 5); System.out.println("3的5次方" + pow); //4舍5入 double round = Math.round(3.5); System.out.println("3.5四舍五入为" + round); //计算2
请问谁能用java语言,为我写一个计算器的小程序
!--开始 --
STYLEBODY {
BACKGROUND-ATTACHMENT: fixed; BACKGROUND-COLOR: #edf0e1; COLOR: #0001fc; FONT-FAMILY: "宋体", "Arial", "Times New Roman"; FONT-SIZE: 9pt
}
TD {
FONT-FAMILY: "宋体", "Arial Narrow", "Times New Roman"; FONT-SIZE: 9pt; font-color: #000000
}
/STYLE
SCRIPT language=javascript
!--
var endNumber=true
var mem=0
var carry=10
var hexnum="0123456789abcdef"
var angle="d"
var stack=""
var level="0"
var layer=0
//数字键
function inputkey(key)
{
var index=key.charCodeAt(0);
if ((carry==2 (index==48 || index==49))
|| (carry==8 index=48 index=55)
|| (carry==10 (index=48 index=57 || index==46))
|| (carry==16 ((index=48 index=57) || (index=97 index=102))))
if(endNumber)
{
endNumber=false
document.calc.display.value = key
}
else if(document.calc.display.value == null || document.calc.display.value == "0")
document.calc.display.value = key
else
document.calc.display.value += key
}
function changeSign()
{
if (document.calc.display.value!="0")
if(document.calc.display.value.substr(0,1) == "-")
document.calc.display.value = document.calc.display.value.substr(1)
else
document.calc.display.value = "-" + document.calc.display.value
}
//函数键
function inputfunction(fun,shiftfun)
{
endNumber=true
if (document.calc.shiftf.checked)
document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry))),carry)
else
document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry))),carry)
document.calc.shiftf.checked=false
document.calc.hypf.checked=false
inputshift()
}
function inputtrig(trig,arctrig,hyp,archyp)
{
if (document.calc.hypf.checked)
inputfunction(hyp,archyp)
else
inputfunction(trig,arctrig)
}
//运算符
function operation(join,newlevel)
{
endNumber=true
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
while (newlevel!=0 (newlevel=(level.charAt(level.length-1))))
{
temp=parse(temp)
level=level.slice(0,-1)
}
if (temp.match(/^(.*\d[\+\-\*\/\%\^\\|x])?([+-]?[0-9a-f\.]+)$/))
document.calc.display.value=RegExp.$2
stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join
document.calc.operator.value=" "+join+" "
level=level+newlevel
}
//括号
function addbracket()
{
endNumber=true
document.calc.display.value=0
stack=stack+"("
document.calc.operator.value=" "
level=level+0
layer+=1
document.calc.bracket.value="(="+layer
}
function disbracket()
{
endNumber=true
var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
while ((level.charAt(level.length-1))0)
{
temp=parse(temp)
level=level.slice(0,-1)
}
document.calc.display.value=temp
stack=stack.substr(0,stack.lastIndexOf("("))
document.calc.operator.value=" "
level=level.slice(0,-1)
layer-=1
if (layer0)
document.calc.bracket.value="(="+layer
else
document.calc.bracket.value=""
}
//等号
function result()
{
endNumber=true
while (layer0)
disbracket()
var temp=stack+document.calc.display.value
while ((level.charAt(level.length-1))0)
{
temp=parse(temp)
level=level.slice(0,-1)
}
document.calc.display.value=temp
document.calc.bracket.value=""
document.calc.operator.value=""
stack=""
level="0"
}
//修改键
function backspace()
{
if (!endNumber)
{
if(document.calc.display.value.length1)
document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length - 1)
else
document.calc.display.value=0
}
}
function clearall()
{
document.calc.display.value=0
endNumber=true
stack=""
level="0"
layer=""
document.calc.operator.value=""
document.calc.bracket.value=""
}
//转换键
function inputChangCarry(newcarry)
{
endNumber=true
document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry))
carry=newcarry
document.calc.sin.disabled=(carry!=10)
document.calc.cos.disabled=(carry!=10)
document.calc.tan.disabled=(carry!=10)
document.calc.bt.disabled=(carry!=10)
document.calc.pi.disabled=(carry!=10)
document.calc.e.disabled=(carry!=10)
document.calc.kp.disabled=(carry!=10)
document.calc.k2.disabled=(carry=2)
document.calc.k3.disabled=(carry=2)
document.calc.k4.disabled=(carry=2)
document.calc.k5.disabled=(carry=2)
document.calc.k6.disabled=(carry=2)
document.calc.k7.disabled=(carry=2)
document.calc.k8.disabled=(carry=8)
document.calc.k9.disabled=(carry=8)
document.calc.ka.disabled=(carry=10)
document.calc.kb.disabled=(carry=10)
document.calc.kc.disabled=(carry=10)
document.calc.kd.disabled=(carry=10)
document.calc.ke.disabled=(carry=10)
document.calc.kf.disabled=(carry=10)
}
function inputChangAngle(angletype)
{
endNumber=true
angle=angletype
if (angle=="d")
document.calc.display.value=radiansToDegress(document.calc.display.value)
else
document.calc.display.value=degressToRadians(document.calc.display.value)
endNumber=true
}
function inputshift()
{
if (document.calc.shiftf.checked)
{
document.calc.bt.value="deg "
document.calc.ln.value="exp "
document.calc.log.value="expd"
if (document.calc.hypf.checked)
{
document.calc.sin.value="ahs "
document.calc.cos.value="ahc "
document.calc.tan.value="aht "
}
else
{
document.calc.sin.value="asin"
document.calc.cos.value="acos"
document.calc.tan.value="atan"
}
document.calc.sqr.value="x^.5"
document.calc.cube.value="x^.3"
document.calc.floor.value="小数"
}
else
{
document.calc.bt.value="d.ms"
document.calc.ln.value=" ln "
document.calc.log.value="log "
if (document.calc.hypf.checked)
{
document.calc.sin.value="hsin"
document.calc.cos.value="hcos"
document.calc.tan.value="htan"
}
else
{
document.calc.sin.value="sin "
document.calc.cos.value="cos "
document.calc.tan.value="tan "
}
document.calc.sqr.value="x^2 "
document.calc.cube.value="x^3 "
document.calc.floor.value="取整"
}
}
//存储器部分
function clearmemory()
{
mem=0
document.calc.memory.value=" "
}
function getmemory()
{
endNumber=true
document.calc.display.value=decto(mem,carry)
}
function putmemory()
{
endNumber=true
if (document.calc.display.value!=0)
{
mem=todec(document.calc.display.value,carry)
document.calc.memory.value=" M "
}
else
document.calc.memory.value=" "
}
function addmemory()
{
endNumber=true
mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry))
if (mem==0)
document.calc.memory.value=" "
else
document.calc.memory.value=" M "
}
function multimemory()
{
endNumber=true
mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry))
if (mem==0)
document.calc.memory.value=" "
else
document.calc.memory.value=" M "
}
//十进制转换
function todec(num,oldcarry)
{
if (oldcarry==10 || num==0) return(num)
var neg=(num.charAt(0)=="-")
if (neg) num=num.substr(1)
var newnum=0
for (var index=1;index=num.length;index++)
newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1))
if (neg)
newnum=-newnum
return(newnum)
}
function decto(num,newcarry)
{
var neg=(num0)
if (newcarry==10 || num==0) return(num)
num=""+Math.abs(num)
var newnum=""
while (num!=0)
{
newnum=hexnum.charAt(num%newcarry)+newnum
num=Math.floor(num/newcarry)
}
if (neg)
newnum="-"+newnum
return(newnum)
}
//表达式解析
function parse(string)
{
if (string.match(/^(.*\d[\+\-\*\/\%\^\\|x\])?([+-]?[0-9a-f\.]+)([\+\-\*\/\%\^\\|x\])([+-]?[0-9a-f\.]+)$/))
return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4))
else
return(string)
}
//数学运算和位运算
function cypher(left,join,right)
{
left=todec(left,carry)
right=todec(right,carry)
if (join=="+")
return(decto(parseFloat(left)+parseFloat(right),carry))
if (join=="-")
return(decto(left-right,carry))
if (join=="*")
return(decto(left*right,carry))
if (join=="/" right!=0)
return(decto(left/right,carry))
if (join=="%")
return(decto(left%right,carry))
if (join=="")
return(decto(leftright,carry))
if (join=="|")
return(decto(left|right,carry))
if (join=="^")
return(decto(Math.pow(left,right),carry))
if (join=="x")
return(decto(left^right,carry))
if (join=="")
return(decto(leftright,carry))
alert("除数不能为零")
return(left)
}
//函数计算
function funcalc(fun,num)
{
with(Math)
{
if (fun=="pi")
return(PI)
if (fun=="e")
return(E)
if (fun=="abs")
return(abs(num))
if (fun=="ceil")
return(ceil(num))
if (fun=="round")
return(round(num))
if (fun=="floor")
return(floor(num))
if (fun=="deci")
return(num-floor(num))
if (fun=="ln" num0)
return(log(num))
if (fun=="exp")
return(exp(num))
if (fun=="log" num0)
return(log(num)*LOG10E)
if (fun=="expdec")
return(pow(10,num))
if (fun=="cube")
return(num*num*num)
if (fun=="cubt")
return(pow(num,1/3))
if (fun=="sqr")
return(num*num)
if (fun=="sqrt" num=0)
return(sqrt(num))
if (fun=="!")
return(factorial(num))
if (fun=="recip" num!=0)
return(1/num)
if (fun=="dms")
return(dms(num))
if (fun=="deg")
return(deg(num))
if (fun=="~")
return(~num)
if (angle=="d")
{
if (fun=="sin")
return(sin(degressToRadians(num)))
if (fun=="cos")
return(cos(degressToRadians(num)))
if (fun=="tan")
return(tan(degressToRadians(num)))
if (fun=="arcsin" abs(num)=1)
return(radiansToDegress(asin(num)))
if (fun=="arccos" abs(num)=1)
return(radiansToDegress(acos(num)))
if (fun=="arctan")
return(radiansToDegress(atan(num)))
}
else
{
if (fun=="sin")
return(sin(num))
if (fun=="cos")
return(cos(num))
if (fun=="tan")
return(tan(num))
if (fun=="arcsin" abs(num)=1)
return(asin(num))
if (fun=="arccos" abs(num)=1)
return(acos(num))
if (fun=="arctan")
return(atan(num))
}
if (fun=="hypsin")
return((exp(num)-exp(0-num))*0.5)
if (fun=="hypcos")
return((exp(num)+exp(-num))*0.5)
if (fun=="hyptan")
return((exp(num)-exp(-num))/(exp(num)+exp(-num)))
if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")
{
alert("对不起,公式还没有查到!")
return(num)
}
alert("超出函数定义范围")
return(num)
}
}
function factorial(n)
{
n=Math.abs(parseInt(n))
var fac=1
for (;n0;n-=1)
fac*=n
return(fac)
}
function dms(n)
{
var neg=(n0)
with(Math)
{
n=abs(n)
var d=floor(n)
var m=floor(60*(n-d))
var s=(n-d)*60-m
}
var dms=d+m/100+s*0.006
if (neg)
dms=-dms
return(dms)
}
function deg(n)
{
var neg=(n0)
with(Math)
{
n=abs(n)
var d=floor(n)
var m=floor((n-d)*100)
var s=(n-d)*100-m
}
var deg=d+m/60+s/36
if (neg)
deg=-deg
return(deg)
}
function degressToRadians(degress)
{
return(degress*Math.PI/180)
}
function radiansToDegress(radians)
{
return(radians*180/Math.PI)
}
//界面
//--
/SCRIPT
!--written by GoldHuman li hai--!--2000.8--
META content="Microsoft FrontPage 4.0" name=GENERATOR/HEAD
BODY
DIV align=center
FORM name=calc
TABLE height=250 width=500 border=1
TBODY
TR
TD height=50
TABLE width=500
TBODY
TR
TD/TD
TD
DIV align=centerINPUT readOnly size=40 value=0 name=display /DIV/TD/TR/TBODY/TABLE/TD/TR
TR
TD
TABLE width=500
TBODY
TR
TD width=290INPUT onclick=inputChangCarry(16) type=radio name=carry 十六进制 INPUT onclick=inputChangCarry(10) type=radio CHECKED name=carry 十进制 INPUT onclick=inputChangCarry(8) type=radio name=carry 八进制 INPUT onclick=inputChangCarry(2) type=radio name=carry 二进制 /TD
TD/TD
TD width=135INPUT onclick="inputChangAngle('d')" type=radio CHECKED value=d name=angle 角度制 INPUT onclick="inputChangAngle('r')" type=radio value=r name=angle 弧度制 /TD/TR/TBODY/TABLE
TABLE width=500
TBODY
TR
TD width=170INPUT onclick=inputshift() type=checkbox name=shiftf上档功能 INPUT onclick=inputshift() type=checkbox name=hypf双曲函数 /TD
TDINPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=bracket INPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=memory INPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=operator /TD
TD width=183INPUT style="COLOR: red" onclick=backspace() type=button value=" 退格 " INPUT style="COLOR: red" onclick="document.calc.display.value = 0 " type=button value=" 清屏 " INPUT style="COLOR: red" onclick=clearall() type=button value=" 全清" /TD/TR/TBODY/TABLE
TABLE width=500
TBODY
TR
TD
TABLE
TBODY
TR align=middle
TDINPUT style="COLOR: blue" onclick="inputfunction('pi','pi')" type=button value=" PI " name=pi /TD
TDINPUT style="COLOR: blue" onclick="inputfunction('e','e')" type=button value=" E " name=e /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('dms','deg')" type=button value=d.ms name=bt /TD/TR
TR align=middle
TDINPUT style="COLOR: #ff00ff" onclick=addbracket() type=button value=" ( " /TD
TDINPUT style="COLOR: #ff00ff" onclick=disbracket() type=button value=" ) " /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('ln','exp')" type=button value=" ln " name=ln /TD/TR
TR align=middle
TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('sin','arcsin','hypsin','ahypsin')" type=button value="sin " name=sin /TD
TDINPUT style="COLOR: #ff00ff" onclick="operation('^',7)" type=button value="x^y " /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('log','expdec')" type=button value="log " name=log /TD/TR
TR align=middle
TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('cos','arccos','hypcos','ahypcos')" type=button value="cos " name=cos /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('cube','cubt')" type=button value="x^3 " name=cube /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('!','!')" type=button value=" n! " /TD/TR
TR align=middle
TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('tan','arctan','hyptan','ahyptan')" type=button value="tan " name=tan /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('sqr','sqrt')" type=button value="x^2 " name=sqr /TD
TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('recip','recip')" type=button value="1/x " /TD/TR/TBODY/TABLE/TD
TD width=30/TD
TD
TABLE
TBODY
TR
TDINPUT style="COLOR: red" onclick=putmemory() type=button value=" 储存 " /TD/TR
TR
TDINPUT style="COLOR: red" onclick=getmemory() type=button value=" 取存 " /TD/TR
TR
TDINPUT style="COLOR: red" onclick=addmemory() type=button value=" 累存 " /TD/TR
TR
TDINPUT style="COLOR: red" onclick=multimemory() type=button value=" 积存 " /TD/TR
TR
TD height=33INPUT style="COLOR: red" onclick=clearmemory() type=button value=" 清存 " /TD/TR/TBODY/TABLE/TD
TD width=30/TD
TD
TABLE
TBODY
TR align=middle
TDINPUT style="COLOR: blue" onclick="inputkey('7')" type=button value=" 7 " name=k7 /TD
TDINPUT style="COLOR: blue" onclick="inputkey('8')" type=button value=" 8 " name=k8 /TD
TDINPUT style="COLOR: blue" onclick="inputkey('9')" type=button value=" 9 " name=k9 /TD
TDINPUT style="COLOR: red" onclick="operation('/',6)" type=button value=" / " /TD
TDINPUT style="COLOR: red" onclick="operation('%',6)" type=button value=取余 /TD
TDINPUT style="COLOR: red" onclick="operation('',3)" type=button value=" 与 " /TD/TR
TR align=middle
TDINPUT style="COLOR: blue" onclick="inputkey('4')" type=button value=" 4 " name=k4 /TD
TDINPUT style="COLOR: blue" onclick="inputkey('5')" type=button value=" 5 " name=k5 /TD
TDINPUT style="COLOR: blue" onclick="inputkey('6')" type=button value=" 6 " name=k6 /TD
TDINPUT style="COLOR: red" onclick="operation('*',6)" type=button value=" * " /TD
TDINPUT style="COLOR: red" onclick="inputfunction('floor','deci')" type=button value=取整 name=floor /TD
TDINPUT style="COLOR: red" onclick="operation('|',1)" type=button value=" 或 " /TD/TR
TR align=middle
TDINPUT style="COLOR: blue" onclick="inputkey('1')" type=button value=" 1 " /TD
TDINPUT style="COLOR: blue" onclick="inputkey('2')" type=button value=" 2 " name=k2 /TD
TDINPUT style="COLOR: blue" onclick="inputkey('3')" type=button value=" 3 " name=k3 /TD
TDINPUT style="COLOR: red" onclick="operation('-',5)" type=button value=" - " /TD
TDINPUT style="COLOR: red" onclick="operation('',4)" type=button value=左移 /TD
TDINPUT style="COLOR: red" onclick="inputfunction('~','~')" type=button value=" 非 " /TD/TR
TR align=middle
TDINPUT style="COLOR: blue" onclick="inputkey('0')" type=button value=" 0 " /TD
TDINPUT style="COLOR: blue" onclick=changeSign() type=button value=+/- /TD
TDINPUT style="COLOR: blue" onclick="inputkey('.')" type=button value=" . " name=kp /TD
TDINPUT style="COLOR: red" onclick="operation('+',5)" type=button value=" + " /TD
TDINPUT style="COLOR: red" onclick=result() type=button value=" = " /TD
TDINPUT style="COLOR: red" onclick="operation('x',2)" type=button value=异或 /TD/TR
TR align=middle
TDINPUT style="COLOR: blue" disabled onclick="inputkey('a')" type=button value=" A " name=ka /TD
TDINPUT style="COLOR: blue" disabled onclick="inputkey('b')" type=button value=" B " name=kb /TD
TDINPUT style="COLOR: blue" disabled onclick="inputkey('c')" type=button value=" C " name=kc /TD
TDINPUT style="COLOR: blue" disabled onclick="inputkey('d')" type=button value=" D " name=kd /TD
TDINPUT style="COLOR: blue" disabled onclick="inputkey('e')" type=button value=" E " name=ke /TD
TDINPUT style="COLOR: blue" disabled onclick="inputkey('f')" type=button value=" F " name=kf /TD/TR/TBODY/TABLE/TD/TR/TBODY/TABLE/TD/TR/TBODY/TABLE/FORM/DIV%referer=Request.ServerVariables ("HTTP_REFERER")%
!--结束 --
javaatctan的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaatctan的信息别忘了在本站进行查找喔。