当前位置:  技术问答>java相关

帮我解决这个问题给80~~~~~~~~`至少

    来源: 互联网  发布时间:2015-11-12

    本文导语:  这个程序编译通过了,只是出不了结果,我都不知道怎么办了,只有请教大虾了,SOS~~~~~~~~~~~`源程序如下,帮我解决的,给出问题的原因的有重分 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.lang.*; p...

这个程序编译通过了,只是出不了结果,我都不知道怎么办了,只有请教大虾了,SOS~~~~~~~~~~~`源程序如下,帮我解决的,给出问题的原因的有重分

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.*;
public class a1
 {
  public static void main(String args[]) throws Exception
   {
    new a1();
   }
 public a1()
 {
  useselect("计算器");
 }
int len;                            //存放计算式的长度
  char comulatechar[]=new char[20];      //计算式 
  public void useselect(String select)
   {     
    if(select.equals("计算器"))
     {
       String inputValue=JOptionPane.showInputDialog(null,
      "请输入计算表达式","欢迎使用计算   器",JOptionPane.QUESTION_MESSAGE); 
       double result;
       len=inputValue.length();  
       inputValue.getChars(0,len,comulatechar,0);
       comulatechar[len]='='; 
       result=operand();
       String message="计算结果为:"+result;
       Object[] endButton = {"结束程序","继续"};             //选择按钮项目
       JOptionPane end = new JOptionPane(message,JOptionPane.WARNING_MESSAGE,
       JOptionPane.DEFAULT_OPTION,null,endButton);
       //建立 JOptionPane 对象 end
       JDialog endD = end.createDialog(end,"输出结果");  //产生 endD 对话框
       endD.setVisible(true);             //显示 endD 对话框
       Object push = end.getValue();      //取得使用者按下的按钮
       if(push == endButton[0])
        {
         System.exit(0);                   //结束程序
        } 
       else if(push == endButton[1])
        {
         new a1();
        }   
     }
}
   char[] OPTR=new char[len];       //OPTR为运算符栈
   double[] OPND=new double[len];     //OPND为运算数栈
//   char fun[10][7];               //保存数学函数数组,以便比较
   int OPNDPop=0;                     //设置全局变量为运算数栈栈顶     
   char OPTRPop=0;                    //运算符栈
   int charlen=0;                   //当前读入字符的长度
public  void initstack()  
{
 for(int i=0;i' ';i++);
 return(OP[--i]);
}
//返回栈顶操作数
public double GetTop2(double OP[])       
{ int i=0;
 for(;OP[i]!=0;i++);
 return(OP[0]);
}
//接收两个操作数与运算符号,并返回运算值
public double Operate(double a,char ch,double b)  
{
double midtotal=0;
switch(ch)
{
case '+': midtotal=a+b; break;
case '-': midtotal=a-b; break;
case '*': midtotal=a*b; break;
case '/': midtotal=a/b; break;
default :System.exit(0);
}
return(midtotal);
}
//比较算符的优先级,返回比较值''
char Precede1(char theta1,char theta2)  
{
char midchar=' ';
switch(theta1)
{
case '+':
case '-': switch(theta2)
{
case '+':
case '-':
case ')':
case '=': midchar='>'; break;
case '*':
case '/':
case '(': midchar=''; break;
case '(': midchar=''; break;
default :System.exit(0);
}
break;
case '=': switch(theta2)
{
case '+':
case '-':
case '*':
case '/':
case '(': midchar='':
theta=Popchar(OPTR,theta);
b=Popnum(OPND,b); a=Popnum(OPND,a);
Pushnum(Operate(a,theta,b));
break;
}
return(c);
}
//把数字字符转化为数字
public char Readnumber(char numchar)  
{
int i,scale=0;
double numvalue=0;
while (numchar>='0'&&numchar='0'&&numchar='0'&&numchar='0'&&numchar

    
 
 

您可能感兴趣的文章:

  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 奇怪,怎么“已解决”问题只有4页(10/17日之后的),以前的已解决问题到哪里看?
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 硬盘分区后出现的问题,急待解决!!问题解决马上给分。
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 解决多级索引速度慢的问题可否像解决多级页表那样使用TLB?
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 呵呵,前段时间Ubuntu服务器版的问题总算解决了,解决方法就是重新安装桌面版-_-!
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • 问发这问题"arprequest : Invalid argument"的朋友,你的问题解决了吗?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 现在在公司遇到一个解决不了的页面缓存问题,在线等到下班,谁解决谁100分
  • c/c++服务器程序内存泄露问题分析及解决
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • Linux 下c++开发error while loading shared libraries问题解决
  • 如何解决安装问题!!??
  • HTML <!DOCTYPE> 标签用法详解及如何解决<!DOCTYPE html>未声明时导致页面无效的问题
  • 超初级问题:显示乱码的问题怎么解决?
  • Windows C/ C++堆相关问题及解决思路
  • 有关ResultSet的问题,帮助解决问题者另外加分...
  • Andriod上ANR介绍及ANR问题解决方法
  • 亟待解决的问题!Makefile问题
  • Oracle安装后8080和80端口被占用的解决办法
  • java中tomcat的80端口被占用问题解决
  • 在RedHat80里面,中文文件名显示为????号,这怎么解决啊?
  • 小问题大给分80!!!!!!解决就给!!!!
  • Apache NameVirtualHost *:80 has no VirtualHosts问题解决办法
  • apache和IIS共享80端口解决办法
  • 大家看看我的程序,谢谢(80),先给20,解决后再给60
  • xampp安装后apache 80端口被占用的解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • secureCRT下Linux终端汉字乱码解决方法
  • VS2005解决方案管理器中不显示解决方案节点的解决办法
  • window.onload事件覆盖掉body onload事件(window.onload和html body onload事件冲突)解决办法
  • 有高手能破解RAR的密码吗,至今没有找到人能解决?(先只给10分意思意思,若解决,至少给解决的人500分!说话算话!)
  • andriod中UIScrollView无法正常滚动的解决方法
  • 解决 select 挡住div的解决方法
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 解决!解决!求助如何安装多系统!
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • Liunx命令tar压缩出现如下错误该怎么解决?急需解决!感谢
  • 安装hadoop时出现内存不够及其它一些常见的hadoop错误解决办法
  • 求数据库解决方案===求数据库解决方案
  • 多jdk环境下安装多个tomcat冲突解决配置方法
  • MYSQL安装时解决要输入current root password的解决方法
  • linux/centos安装nginx常见错误及解决办法
  • 解决oracle用户连接失败的解决方法
  • 感觉java胜任大型企业级的任务绰绰有余了,可是面对一些小些企业的解决方案听的并不是很多,所以我希望听听各位的看法(如果实际解决过这
  • 今年广东省中等职业技术学校技能大赛的题目(不要小看),网上查了很久,没有解决办法;求高手解决。
  • 急需要解决,请兄弟们帮一把,解决后热心的网友必有重谢(送分)
  • 特急!!议论者有分,解决者追加。关于数据误格式化,在线等待。解决马上结帐
  • 数据同步和复制解决方案 SymmetricDS


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3