对于下面的程序我得到异常:字符串索引超出范围:-2
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1911)
at Names.main(Names.java:33)
线路
System.out.println("The character at index 3 in "+middle+" is "+middle.substring(3, 1));
你看到这条线的任何问题?
/* Names.java */
import java.io.*;
public class Names {
/** Performs various string operations on the name John Fitzgerald kennedy.
*
* @param arg is not used
*/
public static void main(String[] args) {
String first = "john";
String middle = "Fitzgerald";
String last = "Kennedy";
String initials;
String firstInit, middleInit, lastInit;
firstInit = first.substring(0, 1);
middleInit = middle.substring(0,1);
lastInit = last.substring(0,1);
initials = firstInit.concat(middleInit);
initials = initials.concat(lastInit);
System.out.println();
System.out.println(first+" "+middle+" "+last+" ");
System.out.println(initials);
System.out.println(last+", "+first+" "+middle);
System.out.println(last+", "+first+" "+middleInit+".");
System.out.println(first.toUpperCase()+" "+last.toUpperCase());
System.out.println(first+" equals john is "+first.equals("john"));
System.out.println(first+" equals john (ignoring case is) "+first.equalsIgnoreCase("john"));
System.out.println("The character at index 3 in "+middle+" is "+middle.substring(3, 1));
System.out.println("The index of \"gerald\" within "+middle+" is "+middle.indexOf("gerald"));
System.out.println("The index of \"gerald\" within "+last+" is "+last.indexOf("gerald"));
System.out.println();
}
}
请参阅java文档。在内容辅助中,它也表示(int beginindex,endindex);.它将如何反向工作,LOK在错误-2 –