求解答- java语言想要运算器程序可以运行出正负数及小数点运算

问题描述

java语言想要运算器程序可以运行出正负数及小数点运算

public class Calculator
{ private CalcEngine engine;
private UserGUI gui;
public Calculator()
{ engine=new CalcEngine();
gui=new UserGUI(engine); }

public void show()
{ gui.setVisible(true); }
public static void main(String a[])
{ Calculator calc=new Calculator();
calc.show(); }
}
class CalcEngine
{ private double number;double result;
final double pi=3.1415926535;
char flag;
boolean isNumber;
public CalcEngine()
{ number=0;
result=0;
flag=' ';
isNumber=true;
}
public double getDisplayValue()
{ return number; }
public void numberPressed(double number)
{ if(isNumber&&this.number!=0)
{ double str1=Double.toDouble(number);
double str2=Double.toDouble(this.number);
this.number=Double.parseDouble(str2+str1);
}
else
{ this.number=number; }
isNumber=true;
}
public void plus()
{ equals();
this.flag='+'; }
public void minus()
{ equals();
this.flag='-'; }
public void mul()
{ equals();
this.flag='*'; }
public void div()
{ equals();
this.flag='/'; }
public void genhao()
{ equals();
this.flag='√'; }
public void quyu()
{ equals();
this.flag='%'; }
public void sinzhi()
{ equals();
this.flag='s'; }
public void dian()
{ equals();
this.flag='.'; }
public double equals()
{ switch(flag)
{ case '+': result=result+number; break;
case '-': result=result-number; break;
case '*': result=result*number; break;
case '/': result=result/number; break;
case '√': result=Math.sqrt( number); break;
case '%': result=result%number; break;
case 's': result= Math.sin(number*pi/180);
break;
case '.': number=(double) number; break; //这里有错
case ' ': result= number; break;
}
return result;
flag=' ';
isNumber=false;
}
public void clear()
{ number=0; result=0; }
public String getTitle()
{ return " calclation example"; }
}

时间: 2024-10-31 02:23:45

求解答- java语言想要运算器程序可以运行出正负数及小数点运算的相关文章

求大神解答一下-想要程序可以运行出正负数及小数点运算

问题描述 想要程序可以运行出正负数及小数点运算 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class UserGUI implements ActionListener { private CalcEngine calc; private JFrame frame; private JTextField display; private

寻帮助-想要程序可以运行出正负数及小数点运算

问题描述 想要程序可以运行出正负数及小数点运算 //主函数 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class UserGUI implements ActionListener { private CalcEngine calc; private JFrame frame; private JTextField display; p

java毕设-求基于java语言开发的毕业设计题目

问题描述 求基于java语言开发的毕业设计题目 最近要写毕业论文了 ,然而题目还没有,所以求各位大神帮帮忙 想个比较新颖.实现起来简单的基于java的毕业设计题目 由于c币很少 悬赏不了太多啊 大神们帮帮忙啊 谢谢了先

求解答java报错问题运行出错,求帮助

问题描述 求解答java报错问题运行出错,求帮助 16:29:21,442 ERROR ContextLoader:215 - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of resource fields failed; nested except

求解答c语言的一个小问题

问题描述 求解答c语言的一个小问题 #include "stdio.h" int main() { int a,b; while(scanf("%d%d",&a,&b)==2) printf("%d ",a+b); return 0; } 那句while是什么 我不明白 解决方案 函数 scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中.

求解答java通过请求头如何得到文件类型后缀

问题描述 求解答java通过请求头如何得到文件类型后缀 java中,上传一个文件,首先要从文件的请求头中得到文件的内容类型,然后判断文件的扩展名,请知道的大神详细解答! 解决方案 貌似httpservletRequest'类能够获取请求头,查查api有你要的一切 解决方案二: 上传文件,直接从请求体中得到文件的全部信息啊,什么名字,内容,大小都能得到了 解决方案三: 直接使用httprequest就行,具体的方法可以查一下api 解决方案四: 使用commo-fileupload.jar 大概步

java-初学Java,想知道这段代码哪里出错了

问题描述 初学Java,想知道这段代码哪里出错了 package text; public class text1 { int a; int b; public void print() { System.out.println("a="+a+",b="+b); } } class text2 { public static void main(String[] args) { text1 x=new text2(); x.a=111; x.b=222; x.pri

用Java写了个应用程序,运行一次需要多次访问网站,结果就出现了403forbidden,怎么办?

问题描述 用Java写了个应用程序,用eclipse,运行一次需要多次访问网站,运行一两次后再次打开访问的网页就出现了403forbidden,程序跑的时候也会出错了,这种情况要怎么解决啊?求高手指点啊,急~~~~~~~~~ 解决方案 解决方案二:不知道具体的怎么能知道你那个出的什么问题解决方案三:该回复于2011-04-25 08:53:49被版主删除解决方案四:多半是你没有把session的信息存下来吧,让你的应用作为一个session访问服务器.所以次数多了,服务器认为你这是恶意访问,把你

求解答-C语言51单片机串口通信程序求教

问题描述 C语言51单片机串口通信程序求教 #include #include #include #define INBUF_LEN 4 //数据长度 unsigned char inbuf1[INBUF_LEN]; unsigned char checksum,count3; bit read_flag=0; void init_serialcomm(void) { SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD