Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe ein mehr dimensionales string array ( str.arr[x][y] ),
wie kann ich da zum beispiel position str.arr[45][2] in einen primitiven wert, zb float wert45, down casten?
...eben einen wert erhalten, mit dem ich rechnen kann?
das habe ich bereits versucht , und als ergebnis bekomme ich das:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Token[n=0.9], line 2"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1242)
at java.lang.Float.parseFloat(Float.java:439)
at fhprojekt2.FmDateiEinlesen.main(FmDateiEinlesen.java:88)
Java Result: 1
ähm, der string der im array steht ist also
"Token[n=0.9], line 2" <-- ?
das natürlich unpraktisch =)
müsstest dann wohl mit einem pattern die nicht relevanten werte löschen so dass der string nur 0.9 ist, dann kannst du auch Integer.paseInt() nutzen
ähm, der string der im array steht ist also
"Token[n=0.9], line 2" <-- ?
das natürlich unpraktisch =)
müsstest dann wohl mit einem pattern die nicht relevanten werte löschen so dass der string nur 0.9 ist, dann kannst du auch Integer.paseInt() nutzen
also ich bin kein regex experte um "Token[n=0.9], line 2" in 0.9 zu zerlegen. vllt hilft da ja jmd anderes
brauchst du denn überhaupt diesen bezeichner n= ?
oder reichen dir im grunde nur die werte?
weil dann wärs vllt ne überlegung wert, einfach nur diese werte in ein int array abzulegen??? dann haste das problem erst garnicht.
ist der bezeichner immer gleich? oder IMMER unterschiedlich? oder mal so mal so ?
das einzige was für mich interessant ist, ist der wert, der rest ist unnützer müll...und die bezeichner sind verschieden, lauter gleiche hätten ja auch keinen sinn^^
ok, eine letzte frage
von wo stammen die daten? bzw wie kommen die in die datei?
schreibst du die selber in die datei? dann lass doch einfach die bezeichner weg
ansonsten ist mir keine tolle lösung eingefallen, aber so würde es sicherlich gehen:
Java:
List<List<Double>> list = new LinkedList<List<Double>>();
//Datei einlesen
Scanner in = new Scanner(new File("HierPfadZuDeinerDatei.txt"));
while (in.hasNextLine()) {
String s = in.nextLine();
Scanner sc = new Scanner(s);
List<Double> listtmp = new LinkedList<Double>();
while (sc.hasNext()) {
try {
listtmp.add(Double.parseDouble(sc.next()));
} catch (NumberFormatException e) {
}
}
list.add(listtmp);
}
//Werte ausgeben
//hier kannst du nun auch mit den (double)werten rechnen
for (List<Double> tmp : list) {
//hier die werte der aktuellen zeile
for (Double double1 : tmp) {
System.out.print(double1 + " ");
}
//nächste zeile
System.out.println();
}
oder wie gesagt alles so belassen wie es ist, und jmd suchen der dir nen vernünftiges regex baut
die daten sind "handgeschrieben"...quasie in einer hand editierbaren form dort gespeichert....deswegen müssen dort die bezeichner sein, und zweitens werde ich sie beim rechnen auch benötigen...mir schwebt nämlich vor, mit einem dropdown feld die jeweilige zahlen reihe aus zu wählen...
mit dem scanner hab ich auch schon probiert, dann bekomme ich so was:
nachtrag:
wenn ich die datei ganz normal in einen string einlese, und die tokens nach her mit dem string tokenizer aufteile, habe ich dann auch die "Token[n=0.9], line 2" ?