guaiguaihu2009 发表于 2009-3-21 16:04:41

高手们给解决一下下

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( "这样的表达式不存在!");
   
}

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

ermao30 发表于 2009-3-21 16:06:08

import ds_java.Stack2;//这是一个堆栈,由于太多在这里就没有具体发上。
public class Chen
{
String pstr1;
    public Chen()
    {
    }
int value(String ps)//求表达式的值的方法
{
pstr1=ps; ...
guaiguaihu2009 发表于 2009-3-21 16:04 http://www.jsjbbs.cn/images/common/back.gif
数据结构啊!
刚学啊,帮不到什么忙啊!

linbinlove 发表于 2009-4-1 13:00:02

我们还没有学到这里,暂时帮不到什么忙呀,不好意思呀!:)

彳亍de孑孓 发表于 2009-4-1 17:03:27

import ds_java.Stack2;//这是一个堆栈,由于太多在这里就没有具体发上。
分号是中文的,应该转成英文的

z=z*10+Integer.parseInt(ch+" ");
类型 Integer 中的方法 parseInt(String, int)对于参数(char, int)不适用

彳亍de孑孓 发表于 2009-4-1 17:04:47

Integer nub=new Integer(c.value(pstr));

value的值应该是int类型的

wwh1991411 发表于 2009-4-6 14:54:55

这个是JAVA吗?

自学成材 发表于 2009-4-15 12:19:53

不知道是什么! 我也想知道

ldd2133 发表于 2009-4-23 17:55:45

4个太阳的都不会啊

彳亍de孑孓 发表于 2009-4-23 23:11:33

4个太阳的都不会啊
ldd2133 发表于 2009-4-23 17:55 http://www.jsjbbs.cn/images/common/back.gif不是已经弄给他了?!!!
页: [1]
查看完整版本: 高手们给解决一下下