   [java] NumberFormatException
  Woho, I'm here again xD :PAnyway, I know what the exception MEANS, I just don't have a clue why it's being thrown.Quote:Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "300"    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)    at java.lang.Integer.parseInt(Integer.java:456)    at java.lang.Integer.parseInt(Integer.java:497)    at Account.getLastTransactionData(Account.java:229)    at Logic.getLastTransactionData(Logic.java:100)    at Logic.writeAccountNote(Logic.java:83)    at GUI.actionPerformed(GUI.java:259)    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)    at java.awt.Component.processMouseEvent(Component.java:6041)    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)    at java.awt.Component.processEvent(Component.java:5806)    at java.awt.Container.processEvent(Container.java:2058)    at java.awt.Component.dispatchEventImpl(Component.java:4413)    at java.awt.Container.dispatchEventImpl(Container.java:2116)    at java.awt.Component.dispatchEvent(Component.java:4243)    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)    at java.awt.Container.dispatchEventImpl(Container.java:2102)    at java.awt.Window.dispatchEventImpl(Window.java:2440)    at java.awt.Component.dispatchEvent(Component.java:4243)    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)Account.getLastTransactionData(Account.java:229):public String getLastTransactionData()    {   String expr = "\t";    String lastTransaction = this.latestTransactions[0];    String[] last = lastTransaction.split(expr);    String trans = "";    int amount = (int) Integer.parseInt(last[2]);   if(this.latestTransactions[1] != null)    {   String beforeLastTransaction = this.latestTransactions[1];    String[] before = beforeLastTransaction.split(expr);    int beforeAmount = Integer.parseInt(before[2]);   amount -= beforeAmount;   }   trans = "Transaction date: " + last[0] + "\nTransaction type: " + last[1] + "\nAmount: " + amount;   return trans;   }Anyone that see's the problem here?   
  The exception has the ending " on a new line which means there is a return in the string.Try String.trim() on the data before you parse it to an integer.   ;  I tried this:int amount = Integer.parseInt(String.trim(last[2]));and several other ways to trim the last[2] value, but all of them gives me this:Quote:--------------------Configuration: <Default>--------------------C:\Documents and Settings\Marcus\Skrivbord\Skola\OOP Java\Uppgifter\Upg 4\Account.java:225: trim() in java.lang.String cannot be applied to (java.lang.String)   String lastTransaction = String.trim(this.latestTransactions[0]);    ^C:\Documents and Settings\Marcus\Skrivbord\Skola\OOP Java\Uppgifter\Upg 4\Account.java:235: trim() in java.lang.String cannot be applied to (java.lang.String)  before[2] = String.trim(before[2]);^2 errorsProcess completed.;Did you try looking at the documentation for trim()?  Try last[2].trim().[Edited by - MikeTacular on May 21, 2009 12:22:37 PM];  Oooh, right. Thanks.I just saw him using String.trim() so I thought that we were using the String object like we used Integer.parseInt().One small problem now though with this.I'm saving to a textfile, and how would I get a new line?I get the data like:trans = "Transaction date: " + last[0] + "\nTransaction type: " + last[1] + "\nAmount: " + amount;but \n only gets a weird sign instead of a new line, how would I go around that?   ;  What code are you using to write the string to the file?   ;  FileManager:public void writeAccountNote(String data) throws FileNotFoundException{this.file_write = new File(this.file_name);this.write_stream = new FileOutputStream(this.file_write);this.write_printWriter = new PrintWriter(this.write_stream);this.write_printWriter.print(data);this.write_printWriter.close();}Logic:public void writeAccountNote() throws FileNotFoundException{String filename = this.filemanager.save(2);String transaction = this.getLastTransactionData();if(filename != ""){this.filemanager.file(filename).writeAccountNote(transaction);}};  try \r\n instead of \n only.   ;  Yep, that worked perfectly!Thanks alot! :)   ;  You shouldn't hard code in line feeds.  Instead you can get the platform standard linefeed with System.getProperty("line.separator");   