int calcu(String s) {
int s1[] = null;
char s2[] = null;
char b[] = s.toCharArray();
char c = 0;
int v;
t1 = t2 = 0;
int i = 0;
c=b[i];
while(c!=' ')
switch (c) {
case '+':
case '-':
while (t2 > 0 && (s2[t2] != '('))
computing();
s2[++t2] = c;
c=b[++i];
break;
case '*':
case '/':
if (t2 > 0 && ((s2[t2] == '*') || (s2[t2] == '/')))
computing();
s2[++t2] = c;
c=b[++i];
break;
case '(':
s2[++t2] = c;
c=b[++i];
break;
case ')':
while (s2[t2] != '(')
computing();
t2--;
c=b[++i];
break;
default:
v = 0;
do{
v = 10 * v + c - '0';
c=b[++i];
}while((c >= '0') && (c <= '9'));
// 这里赋值语句总出现指针异常 s1[++t1] = v;
};
while (t2 > 0)
computing();
return s1[t1];
}
int s1[] = null;
char s2[] = null;
char b[] = s.toCharArray();
char c = 0;
int v;
t1 = t2 = 0;
int i = 0;
c=b[i];
while(c!=' ')
switch (c) {
case '+':
case '-':
while (t2 > 0 && (s2[t2] != '('))
computing();
s2[++t2] = c;
c=b[++i];
break;
case '*':
case '/':
if (t2 > 0 && ((s2[t2] == '*') || (s2[t2] == '/')))
computing();
s2[++t2] = c;
c=b[++i];
break;
case '(':
s2[++t2] = c;
c=b[++i];
break;
case ')':
while (s2[t2] != '(')
computing();
t2--;
c=b[++i];
break;
default:
v = 0;
do{
v = 10 * v + c - '0';
c=b[++i];
}while((c >= '0') && (c <= '9'));
// 这里赋值语句总出现指针异常 s1[++t1] = v;
};
while (t2 > 0)
computing();
return s1[t1];
}
解决方案 »
- 搜狗面试题
- JNDI 配置TOMCAT的数据库连接池配置问题
- java中直接常量的问题
- 新手jdbc的一个问题
- 哪里有Java Servlets2.3 规范资料下载?
- 关于java接口的一个问题
- 2个问题,请帮忙
- 严正声明:对《程序员大本营2001Java版》不满意的请来签名抗议!!!
- 帮忙解决错误:Exception in thread "main" java.lang.NoClassDefFoundError: TestBed/class
- 怎么判断long数组中的单个值是否为连续(急急。。)求大神
- 高分诚心请教:用多个jcombobox的选项组成sql语句的查询,如何传递点击选项后的参数?不点击可以用getselecteditem,点击选项后应该用什么
- 问一个简单的问题!!!
char s2[] = null;
这两个数组都没有分配空间,怎么能往里面放数据?????