java课程设计(计算器) (三)

2014-11-24 10:29:13 · 作者: · 浏览: 3
g=0; str0="";//注意初始化
}
if(ch=='+'||ch=='-')//符号的优先级
cha=1;
else
cha=2;

if(top2>=0&&cha1[top2]>=cha)//满足条件时计算
{

if(str1[j]==1)
suz[top1-1]=suz[top1]+suz[top1-1];
if(str1[j]==2)
suz[top1-1]=suz[top1-1]-suz[top1];
if(str1[j]==3)
suz[top1-1]=suz[top1]*suz[top1-1];
if(str1[j]==4)
suz[top1-1]=suz[top1-1]/suz[top1];

top2--;top1--;
j--;i--;

}
else//把符号优先级大的放入符号栈中
{
cha1[++top2]=cha;//优先级
if(ch=='+')
str1[++j]=1;// 把符号保存在符号栈中,1表示符号为+,下面同理
if(ch=='-')
str1[++j]=2;
if(ch=='*')
str1[++j]=3;
if(ch=='/')
str1[++j]=4;
}
}
}
t=Double.parseDouble(str0);//最后一个是数字
++top1;suz[top1]=t;

for(;j>=0;j--)//计算最后的结果
{
if(str1[j]==1)
suz[top1-1]=suz[top1]+suz[top1-1];
if(str1[j]==2)
suz[top1-1]=suz[top1-1]-suz[top1];
if(str1[j]==3)
suz[top1-1]=suz[top1]*suz[top1-1];
if(str1[j]==4)
suz[top1-1]=suz[top1-1]/suz[top1];
top1--;
}
text2.setText(""+suz[0]);//把最后的计算结果放入第二个文本行里显示出来
//}
}
public static void main(String[] args) {

new 计算器();
}
}
class WinClose implements WindowListener{//实现关闭程序的接口
public void windowClosing(WindowEvent e)
{
System.exit(0);//执行关闭程序
}
public void windowOpened(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
}