ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
630
630
EMPFEHLEN
-
salve,
mit einem streamtokenizer, habe ich ein mehr dimensionales string array (str.arr[x][y]), aus einer datei mit float werten befüllt.
wie kann ich jetzt mit diesen werten rechnen?
wie bekomme ich jetzt zum beispiel str.arr[1][1], in einen wert mit dem ich rechnen kann?
das habe ich bis jetzt erfolglos versucht
:
grußCode :1 2 3 4 5
float wert1 = float.parseFloat(str.arr[1][1]); float wert1 = Float.pareseFloat(str.arr[1][1]); float wert1 = new Float(str.arr[1][1]).floatValue(); float wert1 = (aufgeteilteFM[2][1]).superClone(); float wert1 = (aufgeteilteFM[2][1]).clone();
Geändert von brikler (22.11.09 um 19:14 Uhr) Grund: Code-Tags eingefügt
-
Hallo,
erstmal möchte ich dich bitten, auf deine Groß- und Kleinschreibung zu achten.
Es gibt etwas, das nennt sich Java-API. Dort kannst du dir alle Methoden anschauen, die eine Klasse zur Verfügung stellt. Dort findest du auch die Methode die du brauchst.
Du hast sie ja schon mehr oder weniger schon benutzt, leider nur falsch geschrieben.
Schau mal hier
http://java.sun.com/j2se/1.5.0/docs/api/
Gruß
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
-
Ich versuche es nochmal. Deine Tastatur hat normal zwei Shift-Tasten. Ich bitte dich, mindestens eine davon zu nutzen und damit auf deine Groß- und Kleinschreibung zu achten.
In Java werden eigentlich alle Methoden ziemlich sprechend bezeichnet. Also der Name sagt eigentlich schon aus, was die Methode macht. Clone, wird dann nach meinem Verständnis was klonen. Das macht sie tatsächlich auch. Sie klont nämlich ein Object.
Deshalb weiß ich jetzt nicht so ganz was du mit clone oder superClone möchtest.
Du hast es oben nochmal geändert, also hattest du es richtig geschrieben.
Eigentlich wird nämlich ein String mit Float.parseFloat(str) in einen float-Wert geparst.
Es wäre vielleicht von Vorteil, wenn du mal sagst, welche Fehlermeldung bei dir kommt.
Gruß
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
-
In welcher von den Zeilen?
Du hast hier float.parseFloat geschrieben. Aber Float muss da groß geschrieben werden.
Gruß
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
Wenn ich Float.parseFloat mache, meckert zwar fürs erste der Compiler nicht, aber ich bekomme beim laufen lassen die Meldung:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Token[n=0.87], line 3"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1242)
at java.lang.Float.parseFloat(Float.java:439)
at fhprojekt2.FmDateiEinlesen.main(FmDateiEinlesen.java:80)
Java Result: 1
-
Na das liegt daran, dass du nicht nur Zahlen im String stehen hast.
Schau dir das mal an.
Da wird der Umgang mit Strings beschrieben.
http://openbook.galileocomputing.de/...b9da58585b88d3
Gruß
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
23.11.09 11:33 #9
Du hast Versucht mit den "Wert" Token[n=0.87] zu parsen. Das das nicht klappt ist doch verständlich oder?
Du musst zuerst die 0.87 aus dem String herausschneiden und diesen dann mit Float.parseFloat(String str) zu einem Float parsen.
Nutze den Link von Sascha, oder schau auch mal hier vorbei:
http://java.sun.com/j2se/1.4.2/docs/...Tokenizer.html
weiterhin besitzt ein String auch eine split() Methode, die ggf. auch ganz hilfreich sein dürfte.
Hilfreich dürfte es sein, den Wert den man parsen möchte erst einmal auszugeben um sicher zu gehen, dass auch wirklich versucht wird ein gültiger Wert zu parsen.
Wenn alles läuft, kann man die Ausgabe später auskommentieren oder löschen.
Falls dabei weiter Probleme auftreten, poste einfach deinen Code und auch sofort deine Fehlermeldung mit. Java-Tags sollte dabei die Lesbarkeit erhöhen.Geändert von Johannes7146 (23.11.09 um 11:37 Uhr)
Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
Gruß Johannes
::: Homepage :::
-
genau, daß war das problem...da muß man aber erst mal drauf kommen, daß der rest um die 0.87 überflüssiger balast ist, und scheinbar nur da, um den angehenden programierer zu verwirren *grml*
so bekommt man die worte, oder die erwünschte zahlen.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Reader reader = new BufferedReader(new FileReader("datei.txt")); StreamTokenizer tokens = new StreamTokenizer(reader); tokens.slashStarComments(true); tokens.ordinaryChar('.'); tokens.parseNumbers(); //tokens.eolIsSignificant(true); int x = 0; int y = 0; int aufnullstellen = 0; String eingeleseneDaten[][] = new String[52][17]; for (int tval; (tval = tokens.nextToken()) != StreamTokenizer_EOF;) { //zahlen werden auf y++ gesetzt if (tval == StreamTokenizer_NUMBER) { eingeleseneDaten[x][y] = (Double.valueOf(tokens.nval)).toString(); y++; } //worte werden auf y0 gesetzt und x koordinate um eins erhöht if (tval == StreamTokenizer_WORD) { x++; y = aufnullstellen; y++; } }
Ähnliche Themen
-
Array von je einem String und einem Double
Von Jellysheep im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 5Letzter Beitrag: 06.01.10, 11:37 -
Problem: In einem mehrdimensionalen Array nach Werten suchen und Position finden?
Von l0c4lh05t im Forum PHPAntworten: 0Letzter Beitrag: 27.10.07, 04:50 -
XPath Rechnen mit Werten
Von DayDawns im Forum XML TechnologienAntworten: 1Letzter Beitrag: 21.03.07, 08:45 -
Array und String in einem?
Von Azamur im Forum PHPAntworten: 0Letzter Beitrag: 24.03.05, 18:08 -
Welchen Array-Typ bei einem Schlüssel und mehreren Werten verwenden?
Von flotschie im Forum .NET ArchivAntworten: 8Letzter Beitrag: 28.12.04, 20:07





Zitieren


Login




