- 问答
- 2019-05-27 20:48:20 @
package Eric;
import java.util.Scanner;
public class 函数 {
private static char[] c;
public static void hanshu(int z,String[] str) {
int d = 0;
for(int i = 0; i < str.length; i++) {
int a1;
a1 = str[i].indexOf('+');
if (a1 != -1) {
String marksStr1 = str[i].substring(a1-1);
String marksStr2 = str[i].substring(a1+1);
int a;
a = Integer.parseInt(marksStr1);
int b;
b = Integer.parseInt(marksStr2);
int c = a + b;
int e = c;
d = e + c;
}
}
System.out.println(d);
for(int i = 0; i < str.length; i++) {
int a2;
a2 = str[i].indexOf('*');
if (a2 != -1) {
String marksStr1 = str[i].substring(a2-1);
String marksStr2 = str[i].substring(a2+1);
int a;
a = Integer.parseInt(marksStr1);
int b;
b = Integer.parseInt(marksStr2);
int c = a * b;
int e = c;
d = e * c;
}
}
System.out.println(d);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int z = in.nextInt();
String[] str = new String[z+z-1];
for(int i = 0; i < str.length; i++) {
str[i] = in.next();
}
hanshu(z, str);
}
}
4 条评论
-
lizilita LV 7 @ 2019-05-28 20:13:13
请你也回答一下,字符串,字符,字符串数组,字符数组的区别@aike
-
2019-05-28 19:37:08@
你说的没错,你的代码就是运行到第15行就崩溃的。不过找错误的时候,得往前看。在15行之前,你可能就犯了一些小错误了。
提示:在你的函数参数里面,
str
不是一个字符串,而是一个字符串数组(一堆字符串)! -
2019-05-28 17:27:18@
当你输入
3 1 + 2 + 3
程序运行到第13行
a1 = str[i].indexOf('+');
之后,
a1
等于0
,第15行的substring(a1-1)
就成了substring(-1)
。但是数组并没有-1这个位置,所以越界了。你可以debug一下,想想为什么会出现-1。 -
2019-05-27 20:54:42@
请附上你的错误信息,不然我无法重现你的错误呀
- 1