我试图在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);
}
}
}
如果有人能帮助找到问题并纠正我出错的地方,那将是很有帮助的。提前谢谢。