Hola!
Estoy haciendo un algoritmo y estoy empezando en la lectura de ficheros, al leer un fichero me sale el siguiente error:
"Exception in thread "main" java.lang.NumberFormatException: For input string: "2,0"
at sun.misc.FloatingDecimal.readJavaFormatString(Floa tingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at InputsReader.muestraContenido(InputsReader.java:42 )
at Starter.main(Starter.java:10)"
He estado leyendo y se a que se debe, pero no como solucionarlo. He leído que quitando espacios al fichero se solucionaría pero no lo hace (ya me lo suponía)
El código es
Código:
public class InputsReader {
public static void muestraContenido(String archivo) throws FileNotFoundException, IOException {
String cadena;
Input inputs = null;
int nNodes = 0;
FileReader f = new FileReader(archivo);
BufferedReader b = new BufferedReader(f);
// 1. COUNT THE # OF NODES (# OF LINES IN nodesFilePath)
while((cadena = b.readLine())!=null) {
nNodes++;
System.out.println(cadena + "Numero de nodos:");
}
b.close();
// 2. CREATE THE INPUTS OBJECT WITH nNodes
inputs = new Input(nNodes);
// 3. CREATE ALL NODES AND FILL THE NODES LIST
FileReader reader = new FileReader(archivo);
Scanner in = new Scanner(reader);
String s ="2.8";
int k = 0;
while( in.hasNextLine() )
{
s = in.next();
float x = Float.parseFloat(s); AQUÍ ESTÁ EL FALLO
float y = in.nextFloat();
Node node = new Node(k, x, y);
inputs.getNodes()[k] = node;
k++;
System.out.println("Coordenada x:" + x + "Coordenadad y:" + y);
}
}
}
He marcado en rojo el error ya que se donde está pero no se como solucionarlo. A ver si alguien puede echarme un mano
Gracias y un saludo!