Results 1 to 5 of 5
- 08-22-2012, 04:46 AM #1
Member
- Join Date
- Aug 2012
- Posts
- 1
- Rep Power
- 0
Java runtime error: String index out of range.
I've written a program that displays tokens dropped into a board depending on the user's selection of which column to drop it in. I'm getting a runtime error
java.lang.StringIndexOutOfBoundsExcepti… String index out of range: 42
at java.lang.String.substring(Unknown Source)
at A1Program.extractRow(A1Program.java:83)
at A1Program.start(A1Program.java:19)
at A1Application.main(A1Application.java:11…
at sun.reflect.NativeMethodAccessorImpl.inv… Method)
at sun.reflect.NativeMethodAccessorImpl.inv… Source)
at sun.reflect.DelegatingMethodAccessorImpl… Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacC…
when I run the program, and I'm a bit lost as to where I might have gone wrong.
My code is:
public class A1Program {
public void start() {
String inputString = " ";
boolean gameOver = false;
String tokens = inputString;
while (!gameOver) {
int column = columnResult();
tokens = enterToken("X", tokens, column);
System.out.println(tokens);
displayBoard(extractRow(5, tokens));
displayBoard(extractRow(4, tokens));
displayBoard(extractRow(3, tokens));
displayBoard(extractRow(2, tokens));
displayBoard(extractRow(1, tokens));
displayBoard(extractRow(0, tokens));
System.out.println("---------------");
}
}
private int columnResult(){
System.out.println("Enter column for X:");
String keyInput = Keyboard.readInput();
int column1 = Integer.parseInt(keyInput);
return column1;
}
private String enterToken(String tokenSymbol, String inputString, int column){
String columnEdit = inputString.substring(column*6-6,column*…
String columnEdit1 = columnEdit.trim();
String columnEdit2 = columnEdit1+tokenSymbol+" ";
String columnEdit3 = columnEdit2.substring(0,6);
String start = inputString.substring(0,column*6-6);
String end = inputString.substring(column*6);
System.out.println(start);
return start+tokenSymbol+end;
}
private String extractRow(int row, String tokens) {
String rowString1 = tokens.substring(row, row + 1);
String rowString2 = tokens.substring(row + 6, row + 7);
String rowString3 = tokens.substring(row + 12, row + 13);
String rowString4 = tokens.substring(row + 18, row + 19);
String rowString5 = tokens.substring(row + 24, row + 25);
String rowString6 = tokens.substring(row + 30, row + 31);
String rowString7 = tokens.substring(row + 36, row + 37);
return "|" + rowString1 + "|" + rowString2 + "|"
+ rowString3 + "|" + rowString4 + "|" + rowString5
+ "|" + rowString6 + "|" + rowString7 + "|";
}
private void displayBoard(String extractRow) {
System.out.println(extractRow);
}
}
Any help is appreciated!
-
Re: Java runtime error: String index out of range.
Can you show us which line is causing the error? Also please try to edit your post above and place [code] [/code] tags above and below your posted code to help make it retain its formatting and be readable.
-
Re: Java runtime error: String index out of range.
.... or not ...
- 08-22-2012, 05:53 AM #4
- 08-22-2012, 09:32 AM #5
Re: Java runtime error: String index out of range.
Probably not.
Cross posted
Java method arrangement, runtime error - Stack Overflow
Help with Java task please (method arrangement)? - Yahoo! Answers
dbWhy do they call it rush hour when nothing moves? - Robin Williams
Similar Threads
-
java.lang.StringIndexOutofBoundsException:String Index out of range : -1
By waqashaider in forum New To JavaReplies: 2Last Post: 05-07-2012, 06:31 PM -
String index out of range: -1 Error.
By ashishb4 in forum New To JavaReplies: 12Last Post: 09-28-2011, 07:32 PM -
String index out of range: -1 due to length function
By ashishb4 in forum New To JavaReplies: 1Last Post: 06-03-2011, 07:04 AM -
java.sql.SQLException: Column Index out of range, 3 > 1.
By chathura992 in forum JDBCReplies: 2Last Post: 01-07-2011, 11:50 AM -
String index out of range: -1 Please Help
By davetheant in forum New To JavaReplies: 22Last Post: 09-11-2010, 12:32 AM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks