大体是用二维数组写的,报错Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind
ex out of range: -1
at java.lang.String.substring(Unknown Source)
at ACM1002.main(ACM1002.java:16)
麻烦看一下,在线等...
import java.util.Scanner;public class ACM1003{ public static void main(String[]args){
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
String s[][] = new String[i][2];
int j[][] = new int[1][2];
for(int m=0;m<i;m++){
String s2 = scan.next();
int e = s2.indexOf(' ');
s[m][0] = s2.substring(0,e);
s[m][1] = s2.substring(e);
j[m][0] = Integer.parseInt(s[m][0]);
j[m][1] = Integer.parseInt(s[m][1]);
}
for(int n=1;n<=i;n++){
System.out.println("Case " + n +":");
System.out.println(j[n][0] + " + " + j[n][1] + " = " + (j[n][0] + j[n][1]));
System.out.println();
}
}}
ex out of range: -1
at java.lang.String.substring(Unknown Source)
at ACM1002.main(ACM1002.java:16)
麻烦看一下,在线等...
import java.util.Scanner;public class ACM1003{ public static void main(String[]args){
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
String s[][] = new String[i][2];
int j[][] = new int[1][2];
for(int m=0;m<i;m++){
String s2 = scan.next();
int e = s2.indexOf(' ');
s[m][0] = s2.substring(0,e);
s[m][1] = s2.substring(e);
j[m][0] = Integer.parseInt(s[m][0]);
j[m][1] = Integer.parseInt(s[m][1]);
}
for(int n=1;n<=i;n++){
System.out.println("Case " + n +":");
System.out.println(j[n][0] + " + " + j[n][1] + " = " + (j[n][0] + j[n][1]));
System.out.println();
}
}}
解决方案 »
- POI里面有方法给word加密码吗?
- ==算法,,看看这个面试题==
- setSize()方法的困惑,在线等待
- 如何在window下计算cpu和内存的占有量!!!
- 我是从 “china”下载的eclipse-SDK-3.1.1-win32.zip,为什么安装的时候还是英文的呢?
- 我怎么看不到以前的帖子了,比如说2004年的
- 请问运行一个类为什么必须要在类所在的当前目录下运行?
- 终于能发200分的帖子了,散分!
- [悬赏] 关于Java+Swing操作矢量图
- 明天下午去面试Java程序员,一般会问到什么问题,请大家来交流交流!!多谢!
- 求分析一下“x++ + ++x”
- 关于Scanner的一个warning的问题
所以你获得的只能是一个完整的字符串不会带有' ',所以s2.indexOf(' ') 的返回值只能是-1而对于这个而言 s2.substring(0,e);
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 所以报错了 以上个人见解