KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a programming assignment and part of it requires me to make code that reads a line from the user and removes all the white space within that line. the line can consist of one word or more. What I was trying to do with this program is have it analyze each character until it finds a space and then save that substring as the first token. then loop again until it reaches no more tokens or the end of the line. I keep on getting this when I try to compile it: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.String.charAt(String.java:694) at trim.main(trim.java:23) Here is the code import java.util.Scanner ; import java.lang.Character; import java.lang.String ; public class trim { public static void main (String[]args) { String a ; String b ; String c ; char aChar ; int i = 0 ; Scanner scan = new Scanner(System.in); a = scan.nextLine(); a =a.trim() ; for ( ; i >= 0 ; i++ ) { aChar = a.charAt(i) ; if (aChar != 32) { a = a.substring(0,i+1); } else { b = a.substring(i,160) ; b= b.trim(); c = c + a ; c = c.trim() ; a = b ; i = 0 ; } if (b.equals(null)) { i = -1 ; } } } } easier ways to do this is appreciated, but I still want to get this program working. and I can't use sentinels in the input. Thanks everybody for all the help, I will use the simpler method , and will read the javadoc.
Tags (comma-separated)
Save Edits
Cancel