SPOJ Simple Arithmetics 2

时间:2016-09-04 11:36:44

标签: java

我试图在SPOJ中解决Simple Arithmetic 2问题。您可以在here找到它。当我在SPOJ中提交代码时,我的解决方案获得了RuntimeError。我无法弄清楚具体原因。你可以在下面找到我的代码

import java.util.Scanner;
class arithmetics
{
  public static void main(String[] args)
  {
    String a;
    long x=0,y=0,t;
    Scanner sc=new Scanner(System.in);
    t=sc.nextInt(); 

     Scanner s=new Scanner(System.in);

    for(int c=0;c<t;c++)
    {
        a=s.next();

        while((a.charAt(a.length()-1)!='='))
        {
           a = a + s.next();
        }
        a=a.replace("+"," + ");
        a=a.replace("-"," - ");
        a=a.replace("*"," * ");
        a=a.replace("/"," / ");
        a=a.replace("="," = ");
      x=0; y=0;
    String ch[]= a.split("\\s+");
    x=Integer.parseInt(ch[0]);
    for(int i=1;i<ch.length;i++)
    {   
        switch(ch[i].charAt(0))
        { 
            case '+':                 
                 y=Integer.parseInt(ch[++i]);
                 x+=y;break;
            case '-':
                y=Integer.parseInt(ch[++i]);
                x-=y;break;
            case '*':
                y=Integer.parseInt(ch[++i]);
                x*=y; break;
            case '/':
                y=Integer.parseInt(ch[++i]);
                x/=y; break;
            case '=':
                break;

           }            
       }                    System.out.println(x); 
      }      
   }
}

如果有人能帮助找到问题并纠正我出错的地方,那将是很有帮助的。提前谢谢。

0 个答案:

没有答案