guaiguaihu2009 发表于 2009-3-21 16:10:17

请高手解决java 中的错误

import ds_java.Stack2;//这是一个堆栈,由于太多在这里就没有具体发上。
public class Chen
{
String pstr1;
    public Chen()
    {
    }
int value(String ps)//求表达式的值的方法
{
pstr1=ps;
Stack2 s2=new Stack2();
char ch;
int i=0,x,y,z=0;
while(i<pstr1.length())
{
   ch=pstr1.charAt(i);
   if(ch>='0'&&ch<='9')
   {
    z=0;
    while(ch!=' ')
    {
   z=z*10+Integer.parseInt(ch+" ");
   i++;
   ch=pstr1.charAt(i);
    }
    s2.push(z);
   }
   else
   {
    y=s2.pop();
    x=s2.pop();
    switch(ch)
    {
   case '+': z=x+y;break;
   case '-': z=x-y;break;
   case '*': z=x*y;break;
   case '/': z=x/y;break;
    }
    s2.push(z);
   }
   
}
return(s2.pop());
}

public static void main(String[] args)
{
Chen c=new Chen();
String pstr="25779";
char[] ch1={'+','-','*','/'};
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
for(int m=0;m<4;m++)
for(int n=0;n<4;n++)
{
pstr+=ch1;
pstr+=ch1;
pstr+=ch1;
pstr+=ch1;
   Integer nub=new Integer(c.value(pstr));
   int nub1=nub.intValue();

if(nub1==24)//出错的地方:数字到字符的转换异常!
      System.out.println(ch1+ch1+ch1+ch1);
else
             System.out.println( "这样的表达式不存在!");
   
}

}
}
程序的意思很明显的。请高手指点一下下啊。

w.wei 发表于 2009-3-21 17:10:16

这个~~额~~对编程不懂,帮你订上去,等待狩猎者来帮你解决~~

浅夏 发表于 2009-3-21 18:09:05

,帮你订上去,等待狩猎者来帮你解决~~
左青龙                右白虎
         中间米老鼠
左屠龙                右倚天
         中间破竹竿

   神挡杀神,佛挡诛佛

回复 引用 报告 道具 TOP



   
返回列表

    高级回复 | 发新话题 B Color





Image Link Quote Code Smilies
发表回复


入门技术
菜鸟的学堂
硬件与软件
系统与病毒
编程学习区
网络综合区
资源共享区
综合咨询区
个人原创区
深层技术
Windows家族系列
Linux系统深入研究
黑客技术学习与交流
全国计算机等级考试
会员专区
新人报到
新闻娱乐
管理中心
广告发布
论坛任务招聘斑竹论坛勋章道具购买
页: [1]
查看完整版本: 请高手解决java 中的错误