Devo leggere un file di input di questo tipo:
Cioč dalla stringa io converto in intero i due numeri che compaiono per ogni riga scartando le parentesi e la virgola, ma mi vengono dati errori, come se si volesse convertire anche lo spazio, cioč " " che tra l'altro visto che non c'č non capisco dove lo trova...codice:(1,3) (4,5) (2,5) (5,1) (3,2) (2,1) (1,1) (5,5) (6,5)
Non capisco che cosa non vada...questo č il codice:
E questi gli errori:codice:import java.io.*; import java.util.*; public class Main { FileReader reader=null; StringTokenizer str; PrintWriter out=null; BufferedReader buff=null; public void Costruiscialbero(String input, String output) { try{ reader=new FileReader(input); buff=new BufferedReader(reader); out=new PrintWriter(output); BSTree<TNode> albero=new BSTree<TNode>(); while(buff.ready()) { str=new StringTokenizer(buff.readLine(),"(,)"); int primo=0; int secondo=0; while(str.hasMoreElements()) { primo=(Integer.parseInt(str.nextToken())); secondo=(Integer.parseInt(str.nextToken())); } Coppia coppia=new Coppia(primo, secondo); TNode<Coppia> nodo=new TNode<Coppia>(coppia); albero.insert(nodo); } } catch(FileNotFoundException e1) { System.out.println("Error...file not found"); } catch(IOException e2) { System.out.println("Error...input/output"); } finally{ try{ buff.close(); reader.close(); out.close(); } catch(IOException e3){ System.out.println("Error...it is not possible to close files"); } } } public static void main(String [] args) { Main main=new Main(); long start=System.currentTimeMillis(); main.Costruiscialbero("input.txt", "output.txt"); long end=System.currentTimeMillis(); System.out.println("Il tempo d'esecuzione č "+(end-start)+" ns"); } }
codice:Exception in thread "main" java.lang.NumberFormatException: For input string: " " at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at Main.Costruiscialbero(Main.java:29) at Main.main(Main.java:69)

Rispondi quotando