int wert = Integer.parseInt(zeile);

Status
Nicht offen für weitere Antworten.

angie

Mitglied
Hallo!

Ich habe mal eine kleine Frage!
Ich soll aus einem String 2 Zahlen einlesen!

Die Datei sieht beispielsweise so aus:

134546 399
234567 6999

Bislang habe ich dieses:

Code:
BufferedReader tmp = new BufferedReader(new FileReader(datei));
String zeile = tmp.readLine();

Ich weiß, dass man wie folgt eine Zahl aus einem String lesen kann:

Code:
int zahl = Integer.parseInt(zeile);

Greife ich damit auf die 1.Zahl zu?
Wenn nein, wie kann ich genau auf die 1. und die 2.Zahl eines Strings darauf zugreifen??

Vielen Dank schon mal im Voraus!!

Angie



[/code]
 

angie

Mitglied
Hhmm!
Sieht recht kompliziert aus!!?

Ich habe gerade noch etwas anderes entdeckt!
Könnte man dies auch wie folgt machen:

Code:
int zahl1 = Integer.parseInt(zeile, 1); // Liest die 1.Zahl eines Strings
int zahl2 = Integer.parseInt(zeile,2);  // Liest die 2.Zahl eines Strings

Könnte mir jemand sagen,ob dass so richtig ist und auch funktioniert??
 

0x7F800000

Top Contributor
jetzt erzähl mir aber nicht, du hättest dir vorher in der API durchgelesen, was die methode tut :roll:
API
Jetzt kannst du zwar weitere Versuche unternehmen, eine ganze zahl 1-adisch zu entwickeln, aber ich garantiere: allzuweit wirst du da nicht kommen mit dem Ansatz.
Ohne regex geht es da halt nicht. Woher soll denn die Integer-klasse sonst wissen, wie sie deine eingabe aufteilen soll. Dieses leerzeichen mitten im String kann ja sonst auch alles mögliche meinen, etwa "10 000 000" für 10 Millionen o.ä. das kann die Integer Klasse doch nicht erraten.

Aber statt explizit einen matcher zu erzeugen, könntest du auch String.split("[^0-9]+"); oder ähnliche Konstruktionen benutzen.
 

Fu3L

Top Contributor
angie hat gesagt.:
Könnte mir jemand sagen,ob dass so richtig ist und auch funktioniert??

Im Zweifelsfall: Kompilieren und wenns ohne Beanstandung kompiliert, ausführen. Wird keine Exception geworfen und das richtige Ergebnis kommt raus, wirds wohl funktionieren :wink:

und nein, es wird so nich funktionieren. Das würde einmal einen String im Unären (falls es sowas gibt^^) und einmal im binären Zahlensystem erwarten und daraus eine Zahl im Dezimalsystem machen^^
 

hdi

Top Contributor
Du liest zeilenweise ein und nutzt dann die Methode String#split.
Sie teilt dir einen String nach einem bestimmten Muster in mehrere Strings (liefert ein String-Array zurück).
Aufrufen tut man die Methode mit einer sog. RegEx (reglärer Ausdruck), siehe dazu:

http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html#sum

Bei dir wäre der Ausdruck nachdem geteilt werden soll wohl ganz einfach ein (oder beliebig viele) Leerzeichen
 

Templon

Bekanntes Mitglied
Nene so wie du das machst geht das nicht =) Das 2te Argument für die parseInt() Methode ist der Radix.

Edit: Oh, da war ich aber viel zu langsam :?
 

0x7F800000

Top Contributor
Fu3L hat gesagt.:
Das würde einmal einen String im Unären (falls es sowas gibt^^) und einmal im binären Zahlensystem erwarten und daraus eine Zahl im Dezimalsystem machen^^
bzzzzt :!: , falsch. Intern wird eh alles binär gespeichert.
 

angie

Mitglied
Also irgendwie werde ich aus dem ganzen nicht schlau!

Was bedeutet denn z.B. bei Folgendem der Ausdruck in der Klammer:

Code:
String.split("[^0-9]+")

Wie genau greife ich dann mit dem "regex" auf meine 2 zahlen zu??
Habe von dem ganzen hier noch nie was gehört!

Danke schon mal!!
 

0x7F800000

Top Contributor
angie hat gesagt.:
Habe von dem ganzen hier noch nie was gehört!
Wenn du überhaupt irgendwas mit java oder überhaupt programmierung zu tun haben willst, dann kommst du da nicht drumherum. Die ersten 3-4 Google Treffer zu stichworten "java regex" und die hier geposteten Links sollten für den Überblick reichen, und konkrete details barucht man da eigentlich auch nicht auswendig zu lernen, wenn man weiß, wo man danach suchen muss.

"[^0-9]+" akzeptiert alle nichtleere zeichenketten, die keine ziffern beinhalten. In deinem konkreten fall könnte man noch zig tausend sachen hinschreiben, etwa:
"\\p{Blank}+" oder " +" oder vielleicht sogar einfach nur " " solange du garantieren kannst, dass da wirklich immer nur ein leerzeichen dazwischen ist.
 

hdi

Top Contributor
Wie mein Vorredner schon sagte, lies erstmal das:

http://de.wikipedia.org/wiki/Regulärer_Ausdruck

Das hat ja soweit nix mit Java zu tun.
Aber es gibt halt diese vordefinierte Methode split() auf Strings, die einen String zerlegen kann,
anhand eines regulären Ausdrucks.

Die Methode analysiert dann den String, auf dem sie aufgerufen wurde, mit der
ihm übergebenen RegEx.

Und zurückliefern tut sie dir eben ein Array von Strings (du weisst ja was ein Array ist, oder?)
indem das Ergebnis der Anwendung deines Ausdrucks enthalten ist. Also eben die Elemente
der Menge, die sich durch die RegEx bilden lässt.

Vereinfacht gesagt bedeutet also

Code:
String[] stringArray = meinString.split(regEx)

nichts weiter als: Suche in "meinString" nach dem Ausdruck (Zeichen für Zeichen, beginnend vom Anfang des Strings), der durch "regEx" definiert ist, und immer wenn du diesen Ausdruck findest, nimm alles was du bisher angeschaut hast,
schneid es vom Rest ab, speicher es, und mache dann weiter. Alle abgeschnittenen Teilstrings sind dann in "stringArray".
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
T Integer Wert in andere Methode übergeben Java Basics - Anfänger-Themen 2
S Datentypen Regex in Verbindung mit einem Integer Wert Java Basics - Anfänger-Themen 3
eXistenZ wert von einem String auf einen Integer ändern =( Java Basics - Anfänger-Themen 6
I Integer neuen wert zuweisen Java Basics - Anfänger-Themen 2
S Integer-Wert aus AWT-List auslesen Java Basics - Anfänger-Themen 10
A Zahlen an einen Integer-Wert anhängen (nicht addieren!) Java Basics - Anfänger-Themen 7
W gemischten String auf Integer wert prüfen Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
A Negativ-Wert Java Basics - Anfänger-Themen 4
R finaler Wert in outerMethod von method in InnerMethodClass Java Basics - Anfänger-Themen 2
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Datum als Variable wert Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
J Wert in Dropdown Menü kursiv schrieben Java Basics - Anfänger-Themen 19
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
M Wie kann ich festlegen, dass ein Attribut maximal den Wert 0 erreicht, also nicht in den negativen Bereich fällt? Java Basics - Anfänger-Themen 4
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
U Ascii wert verschieben, wie möglich? Java Basics - Anfänger-Themen 3
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
E Slider - Wert übergeben und überschreiben Java Basics - Anfänger-Themen 5
G Input/Output getText() gibt keinen Wert! Java Basics - Anfänger-Themen 13
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
J maximaler Wert eines Integers Java Basics - Anfänger-Themen 14
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
B Map<String, FilterMeta, wie Wert bekommen? Java Basics - Anfänger-Themen 4
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
1 Array nimmt falschen Wert auf! Java Basics - Anfänger-Themen 2
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
P Verzweigungen Wert zurück geben Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
T Klassen Den Wert aus Array lesen lassen Java Basics - Anfänger-Themen 12
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
L Wert einer Webeseiteauslesen Java Basics - Anfänger-Themen 6
D Erste Schritte Wert im Array suchen Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
O Wert in einer Schleife unterschiedlich erhöhen Java Basics - Anfänger-Themen 2
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
F Java int-Wert wird resetet Java Basics - Anfänger-Themen 21
J Erste Schritte Wert aus JTextField zurückgeben Java Basics - Anfänger-Themen 6
J Wert bei Objekterzeugung verändern Java Basics - Anfänger-Themen 12
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
D Erste Schritte Java speichert wert des Scanners nicht Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben