求编写JAVA计算器的思路,步骤、过程,非常着急,各位帮忙下
界面设计过程、设计上的创意及组件的布局策略。j整体上以长宽分别为800,620像素大小建立主窗口;k在左上角建立一个music按键用于开关音乐播放;l建立两个文本框放在中上的位置,设置为不可编辑,且字号为25,隶书,方便老人或弱视力的人使用;m建立checkbox群来换选度与弧度;n利用三个panel来布置单目运算区,数字键区,二目运算区,而且把常用的放在习惯的左边区域,且靠近数字键,方便操作;o功能有复位,加减乘除,三角函数,反三角函数等数学常用计算。 3。 程序逻辑的实现,包括类的设计、对象的协作过程。4。 开发环境:eclipse-SDK-3。7。1关键代码:主要是...全部
界面设计过程、设计上的创意及组件的布局策略。j整体上以长宽分别为800,620像素大小建立主窗口;k在左上角建立一个music按键用于开关音乐播放;l建立两个文本框放在中上的位置,设置为不可编辑,且字号为25,隶书,方便老人或弱视力的人使用;m建立checkbox群来换选度与弧度;n利用三个panel来布置单目运算区,数字键区,二目运算区,而且把常用的放在习惯的左边区域,且靠近数字键,方便操作;o功能有复位,加减乘除,三角函数,反三角函数等数学常用计算。
3。 程序逻辑的实现,包括类的设计、对象的协作过程。4。 开发环境:eclipse-SDK-3。7。1关键代码:主要是用于监听按键,并启动相应的函数计算publicvoidactionPerformed(ActionEvent e) { //TODO Auto-generated method stub Button btn=(Button) e。
getSource(); /////关闭打开音乐 if(btn==musicbutton) { if(musiccontrol==0) { audio1。
stop(); musiccontrol=1; return ; } else { musiccontrol=0; audio1。
loop();///反复播放音乐 return ; } } //1~9的输入 for (int i = 0; i { for (int j = 0; j { if(Numbutton[i][j]==btn) { String str=new String(); if(txf1。
getText()。length()!=0) str=txf1。getText(); str=str ((i)*3 j 1); txf1。
setText(str); return; } } } ///0的输入 if(additionbutton[0][0]==btn) { String str=new String(); if(txf1。
getText()。length()!=0) str=txf1。getText(); str=str (0); txf1。
setText(str); return; } ////右边功能键的响应设置 for (int i = 0; i { for (int j = 0; j { if(operationbutton[i][j]==btn) { String str=new String(); if(txf1。
getText()。length()!=0) str=txf1。getText(); ///用于退位 if(i==0&&j==0&&txf1。
getText()。length()!=0) { char temp[]=newchar[txf1。getText()。
length()]; temp=str。toCharArray(); if(txf1。getText()。
length()-1!=0) str=str。copyValueOf(temp,0,txf1。getText()。length()-1); else str=""; } else if(i==0&&j==1) { ////清空,复位 str=""; txf2。
setText(str); } else if(i==0&&j==2) { ///开方 str="sqrt"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="=" Math。
sqrt(num1); txf2。setText(str); str="" Math。sqrt(num1); } elseif(i==1&&j==0) { Operatorrecord=1; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=str " "; txf2。
setText(str); str=""; } elseif(i==1&&j==1) { Operatorrecord=2; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=str "-"; txf2。
setText(str); str=""; } elseif(i==1&&j==2) { //str=str "%"; //Operatorrecord=6; str="1/x"; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=""; str="" num1*100 '%'; txf2。
setText("=" str); } elseif(i==2&&j==0) { Operatorrecord=3; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=str "*"; txf2。
setText(str); str=""; } elseif(i==2&&j==1) { Operatorrecord=4; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=str "/"; txf2。
setText(str); str=""; } elseif(i==2&&j==2) { // Operatorrecord=5; str="1/x"; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=""; str="" 1/num1; txf2。
setText("=" str); } txf1。
setText(str); return; } } } for (int i = 0; i { for (int j = 0; j { if(Functionbutton[i][j]==btn) { Stringstr=newString(); if(i==0&&j==0) { //str="sinh"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
sinh(num1); txf2。setText("=" str); } else if(i==0&&j==1) {///sin if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); if(box1。getState()==false) num1=num1/180。
0*Math。PI ; } str=""; str="" Math。
sin(num1); txf2。setText("=" str); } else if(i==0&&j==2) { //str="x^2"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" num1*num1; txf2。
setText("=" str); } elseif(i==1&&j==0) { //str="cosh"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
cosh(num1); txf2。setText("=" str); } elseif(i==1&&j==1) { //str="cos"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); if(box1。getState()==false) num1=num1/180。
0*Math。PI ; } str=""; str="" Math。
cos(num1); txf2。setText("=" str); } elseif(i==1&&j==2) { //str="x^y"; Operatorrecord=5; if(txf1。
getText()。length()!=0) { num1 = Float。
parseFloat(txf1。getText()。trim()); } str=txf1。
getText(); str=str "^"; txf2。setText(str); str=""; } elseif(i==2&&j==0) { //str="tanh"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
tanh(num1); txf2。setText("=" str); } elseif(i==2&&j==1) { //str="tan"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); if(box1。getState()==false) num1=num1/180。
0*Math。PI ; } str=""; str="" Math。
tan(num1); txf2。setText("=" str); } elseif(i==2&&j==2) { //str="x^3"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" num1*num1*num1; txf2。
setText("=" str); } elseif(i==3&&j==0) { //str="exp"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
exp(num1); txf2。setText("=" str); } elseif(i==3&&j==1) { //str="log10"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
log10(num1); txf2。setText("=" str); } elseif(i==3&&j==2) { //str="10^x"; if(txf1。
getText()。length()!=0) { num1 = Float。parseFloat(txf1。
getText()。trim()); } str=""; str="" Math。
pow(10,num1); txf2。setText("=" str); } txf1。
setText(str); return; } } } /////////////小数建立 //////等号的建立,启动计算 if(additionbutton[0][1]==btn) { String str=new String(); str=txf1。
getText(); str=str '。'; txf1。setText(str); return; } //////等号的建立,启动计算 if(additionbutton[0][2]==btn) { String str=new String(); if(txf1。
getText()。length()!=0) { num2 = Float。parseFloat(txf1。getText()。
trim()); } if(Operatorrecord==1) { str="" (num1 num2); } else if(Operatorrecord==2) { str="" (num1-num2); } else if(Operatorrecord==3) { str="" (num1*num2); } else if(Operatorrecord==4) { str="" (num1/num2); } else if(Operatorrecord==5) { str="" Math。
pow(num1,num2); } txf2。setText("=" str); txf1。
setText(str); Operatorrecord=-1; } }。收起