计算器 急求
import java.awt.*;
import java.applet.*;
public class Calculator extends Applet{
TextField tfAnswer; //显示输入和结果的文本域
Button bPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision; //运算符按钮
Button[] b=new Button[10]; //数字按钮
String currentOp,preOp; //当前操作和上一步操作
String foreText,backText; //当前输入和上一次输入
boolean isFloat = false; //运算类型标志
public void init() {
Panel panel1=new Panel(); //实例化面板
Panel panel2=new Panel();
Panel panel3=new Panel();
currentOp = new String(""); //实例化各组件
preOp = new String("");
foreText = new String("");
backText = new String("");
tfAnswer = new TextField(8);
setBackground(Color.lightGray); //设置Applet背景色
setForeground(Color.blue); //设置Applet前景色
for(int i=9;i>=0;i--){
b[i]=new Button(Integer.toString(i)); //实例化数字按钮
panel2.add(b[i]); //增加按钮到面板
}
bPoint = new Button("."); //实例化按钮
bEqual = new Button("=");
bEqual.setForeground(Color.red); //设置按钮前景色
bClear = new Button("清除");
bClear.setForeground(Color.red);
bDivision = new Button("/");
bDivision.setForeground(Color.red);
bMulti = new Button("*");
bMulti.setForeground(Color.red);
bMinus = new Button("-");
bMinus.setForeground(Color.red);
bPlus = new Button("+");
bPlus.setForeground(Color.red);
setLayout(new FlowLayout()); //设置布局管理器
panel1.setLayout(new FlowLayout());
panel2.setLayout(new GridLayout(4,3));
panel3.setLayout(new GridLayout(4,1));
panel1.add(tfAnswer); //增加组件到面板
panel1.add(bClear);
panel2.add(bPoint);
panel2.add(bEqual);
panel3.add(bPlus);
panel3.add(bMinus);
panel3.add(bMulti);
panel3.add(bDivision);
add(panel1); //增加组件到Applet
add(panel2);
add(panel3);
}
public boolean action(Event e, Object o) { //事件处理
String s = new String("");
for(int i=0;i<10;i++){
if(e.target==b[i]||e.target==bPoint){ //按钮事件来自于数字按钮和点按钮
if(e.target != bPoint) {
s = (String)o;
doForeText(s); //处理输入
}
if((e.target == bPoint)&&(!isFloat)){ //浮点数输入
isFloat = true; //设置运算标志
s = (String)o;
if(foreText.equals("")){
foreText += "0."; //增加小数点前面0
}
else{
doForeText(s);
}
}
}
}
if(e.target == bClear) {
doClear(); //清除输入
}
if((e.target == bMulti)||(e.target == bDivision)|| (e.target == bPlus)||(e.target == bMinus)) { //处理运算
if(foreText != ""){
currentOp = ((String)o);
doOperator(); //处理运算
}
else {
preOp = ((String)o);
}
}
if(e.target == bEqual) { //等于按钮事件处理
doOperator(); //处理运算
}
return true;
}
public void doOperator(){
double dFore,dBack;
Double d;
if(preOp.equals("")) {
backText = foreText;
foreText = "";
tfAnswer.setText(backText); //显示文本
}
else {
dFore = (new Double(foreText)).doubleValue(); //得到第一输入
dBack = (new Double(backText)).doubleValue(); //得到第二输入
foreText = "";
backText = tfAnswer.getText();
if(preOp.equals("+")) { //加运算处理
d = new Double((dBack + dFore)); //得到运算结果
tfAnswer.setText(d.toString()); //显示运算结果
backText = d.toString();
}
if(preOp.equals("-")) {
d = new Double((dBack - dFore));//得到运算结果
tfAnswer.setText(d.toString()); //显示运算结果
backText = d.toString();
}
if(preOp.equals("*")) {
d = new Double((dBack * dFore));//得到运算结果
tfAnswer.setText(d.toString());//显示运算结果
backText = d.toString();
}
if(preOp.equals("/")) {
if (dFore==0){
tfAnswer.setText("除数不能为0"); //显示出错信息
return;
}
d = new Double((dBack / dFore));//得到运算结果
tfAnswer.setText(d.toString());//显示运算结果
backText = d.toString();
}
}
//Math.sin();
preOp = currentOp;
}
public void doForeText(String s) {
foreText += s;
tfAnswer.setText(foreText); //显示输入
}
public void doBackText(String s){
backText = foreText;
foreText = "";
tfAnswer.setText(foreText); //显示输入
}
public void doClear() { //清除输入
currentOp = "";
preOp = "";
foreText = "";
backText = "";
isFloat = false;
tfAnswer.setText("");
}
}
你好!
举例说明如下
f(x)=e^x + x -2
显然f(x)是增函数,故最多有一个零点。
∵f(0)= -20
∴零点在(0,1)内
取(0,1)中点0.5
f(0.5)=0.1487>0
∴零点在(0,0.5)
取中点0.25,f(0.25)= -0.4660 <0
∴零点在(0.25,0.5)
取中点0.375,f(0.375)= - 0.1700 <0
∴零点在(0.375,0.5)
取中点0.4375,f(0.4375)= - 0.01367 <0
∴零点在(0.4375,0.5)
取中点0.46875,f(0.46875)= 0.06675 >0
∴零点在(0.4375,0.46875)
如此反复,直到达到你想要的精确度。
word中计算器
有倒是有
叫做数学大师
我原来尝试了去用下,觉得不是很好用
还是TI-89好用~~哈哈
电脑系统里就自带有计算器的,开始-程序-附件-计算器!
愿您开心!!!
http://soft.gougou.com/search?search=%E8%AE%A1%E7%AE%97%E5%99%A8&restype=2&id=1
上面是软件下载地址!
这种如此专业又复杂的计算器软件还没开发呢,我只知道惠普有一款HP50G图形计算器和它功能类似,甚至比它更强大
敛侵罗通: //实现计算机功能的程序 a program which can work the functions as a computer.#include <stdio.h>//头文件#include <conio.h> void menu();//声明部分 void add(); void sub(); void mul(); void div(); void remain(); void add_n_to_m(); void factor(); ...
太康县18415068605: 急求:高精度计算器?
敛侵罗通: 只编写了加减乘,#include <iostream>int main() cout<<"请输入第一个数的个数"<<endl;//输入数据 cin>>m; cout<<"请输入第一个数元素"<<endl; for(i=500-m;i<500;i++) cout<<"请输入第二个数的个数"<<endl; cin>>n; cout<<"请输入第二...
太康县18415068605: 急!!!求一个简单的C语言计算器程序..... - ?
敛侵罗通: 只要+ - * /的是吧?#include int main(void){ char ch; int a,b; printf("Enter formula:"); scanf("%d%c%d", switch(...
太康县18415068605: 急求一个计算器的c语言程序 - ?
敛侵罗通: 给,已编译确认:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <ctype.h>#include <bios.h>#define End 0X4F00 char token; /*全局标志变量*//*递归调用的函数原型*/ int exp( void ); int term( void ); int factor( void ); void error( void...
太康县18415068605: 急求一个VB的简易计算器,要求为是单输入的,只要加法一种运算就可以了 - ?
敛侵罗通: 要求单输入的,是说只输入一个数字吗?只有一个text啊,,好像明白了,马上给你贴代码 等我 Private Sub Form_Load() Text1 = "" '载入时清空 End Sub Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) '在按键弹起事件里写...
太康县18415068605: 某文具商店销售功能相同的A、B两种品牌的计算器 在线急求!!! - ?
敛侵罗通: (1)设A产品单价为x元,B产品单价为y元 可列方程组 2x+3y=156 3x+y=122 解得x=30 y=32 (2)y1=0.8x y2=5*32+0.7(x-5) 化简为 y2=0.7x+156.5 (3)第三题是不是题错了!! 如果买五个的话 本身A产品的价格就比B低,所以买A品牌合适.
太康县18415068605: 急求c++编程计算器?
敛侵罗通: C++ 俺不怎么精通 C语言还可以 用C语言给你写了个计算器. #include <stdio.h> main() { int a,,c,d; char b; scanf("%f",&a); scanf("%c",&b); scanf("%f",&c); scanf("%f",&d); switch(b) { case "+":d=a+c; printf("%f+%f=%f\n",a,c,d) ...
太康县18415068605: c语言编程…急求一个“计算器”代码 - ?
敛侵罗通: #include typedef float DataType; typedef struct { DataType *data; int max; int top; }Stack; void SetStack(Stack *S,int n) { S->data=(DataType*)malloc(n*sizeof(DataType)); if(S->data==NULL) { printf("overflow"); exit(1); } S->max=n; S->top=-1; } void...
太康县18415068605: 急求一个简单的计算器代码(jsp)?
敛侵罗通: <input type=text value="1+2+3*4" name=tt><input type=button value=caculate onclick="alert(eval(tt.value))">
太康县18415068605: 急求C语言计算器流程图 程序在下面 拜托 - ?
敛侵罗通: #include#include#include double jisuan(char a[]){ int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0; char nibo[50],zhan2[50]; doubl...