Wie kann ich den Inhalt zweier Strings zusammenrechnen?

6 Antworten

Keine Ahnung, was du meinst. Vielleicht so etwas hier? ...

String a = "123";
String b = "456";

String sum = Integer.toString(Integer.parseInt(a) + Integer.parseInt(b));

Anstatt "Integer" und "parseInt" kannst du auch "Double" und "parseDouble" verwenden, falls dir reelle lieber als ganze Zahlen sind. :)

was heißt "Strings zusammenrechnen" ???
Strings kann man nicht "zusammenrechnen" !!!

wenn Du meinst, dass Du die Zahlen, die in den Strings stehen, zusammenrechnen willst, dann musst Du diese erstmal in Zahlenwerte "konvertieren", die kannst Du dann zusammenrechnen !!! ;)

schau' dir das mal an, vielleicht hilft dir das ja schon weiter... :D

float f = Float.parseFloat("25");

MySafeSpace 
Beitragsersteller
 28.12.2015, 14:03

Ja das meinte ich, sorry dass ich den Titel merkwürdig geschrieben habe. Ich will die addieren (also die strings). :/

0
JupStrunk  28.12.2015, 14:23
@MySafeSpace

Ich will die addieren (also die strings)

das macht genusowenig Sinn, man kann keine "Strings" zusammenrechnen (addieren) !!! :D

aber ich weiß, was Du meinst...
Du willst die Zahlen, die in den Strings gespeichert sind, addieren...
sieh dir meine Antwort an, das ist genau das, was Du brauchst !!! ;)

0
MySafeSpace 
Beitragsersteller
 28.12.2015, 14:26
@JupStrunk

okay danke nochmal. falls ich fragen habe melde ich mich noch einmal. 

0
MySafeSpace 
Beitragsersteller
 28.12.2015, 14:29
@MySafeSpace

noch ne kurze frage. wo soll ich die zeile die du geschrieben hast einsetzen? Und was soll ich anstatt der 25 hineinschreiben. 

0
DataIsBeautiful  28.12.2015, 14:57
@MySafeSpace

Wenn ich das richtig verstanden habe, dann hast du einen String, der eine Zahl enthält. Ein String ist einfach eine Zeichenkette, demnach kannst du mit ihr keine arithmetischen Operationen (also Addition, Substraktion, Multiplikation, Division usw.) durchführen.

Du kannst allerdings eine Methode verwenden, die, falls dein String eine Zahl ist, aus diesem String die Zahl herausbekommt und dann zurückgibt.
So könnte das dann aussehen:

int foo = Integer.parseInt("1234");

Quelle: http://stackoverflow.com/questions/5585779/converting-string-to-int-in-java

Dabei ist die Methode "parseInt(String pString)" dafür zuständig, dass der String, dem du ihm als Parameter übergibst (in diesem Fall: "1234"), in einen Integer, also eine Ganzzahl, umgewandelt wird.
In deinem Fall müsstest du ihm jetzt deinen String geben, also wenn das hier bei dir stehen würde:

String beispielString = "7283";

Dann müsstest du folgendes tun:

int foo = Integer.parseInt(beispielString);

Jetzt würde der Integer (Ganzzahl), der aus deinem String erstellt wurde, in der Variable "foo" gespeichert werden. Dabei ist jetzt hier "foo" nur ein belieber Variablenname, du kannst ihn selbstverständlich nennen wie du willst, solange es den Java-Anforderungen entspricht.

Jetzt kannst du mit "foo" rechnen.

0
JupStrunk  28.12.2015, 19:38
@MySafeSpace

na deine Strings (für jeden String diese Funktion) !!!

also, das ist dein Versuch, verkürzt auf zwei Strings:

System.out.println("Neu: " + t1 + " " + u1);

ich würde das dann so schreiben:

float summe = Float.parseFloat(t1) + Float.parseFloat(u1);
System.out.println("Neu: " + Float.toString(summe));
0
MySafeSpace 
Beitragsersteller
 29.12.2015, 08:08
@DataIsBeautiful

also versteh ich das richtig und kann nun so rechnen: System.out.println("foo1 + foo2"); 

?

0
JupStrunk  29.12.2015, 11:28
@MySafeSpace

nein, kann man nicht !!!
probier's doch einfach mal aus... :D

oder schau' einfach mal auf mein Beispiel... ;)

0

Ich denke, Dir fehlt das fundamentale Verständnis von Datentypen.
Strings sind arrays von Zeichen. (Buchstaben, Ziffern, Sonderzeichen). Dem String ist es egal, ob Ziffern, Buchstaben oder sonstwas in ihm steckt. Er "weiss" auch nichts von mathematischen Funktionen.

Strings kann man nicht (mathematisch) addieren, auch wenn es einen "+"-Operator für Strings in manchen Programmiersprachen gibt, macht der in Java was anderes als addieren (er macht Dir einen neuen String, mit der Verkettung (Aneinanderreihung der Zeichen).

Zahlen kann man addieren.
Dazu muss man erst mal den String konvertieren. D.h. man muss die Zahl, die durch den String repräsentiert wird erst mal ausrechnen.

Wie macht man das? Indem man die Ziffernwerte (0-9) mit den jeweiligen Stellenwerten (1, 10, 100, 1000,..) multipliziert, und alles aufsummiert.
Das macht die "parseInt"-Routine freundlicherweise für Dich.

Es wäre aber eine gute Übung, es mal selbst zu programmieren. Z.B. für quaternäre Zahlen [https://de.wikipedia.org/wiki/Quatern%C3%A4r] oder auch für römische Zahlen, was ein bisschen komplizierter ist ;-)

Aber wie gesagt: lies mal eine Einführung in die fundamentalen Datentypen. Da hapert es.

Ich Programiere in Python, aber ich glaube das das so geht:

T1+U1

dort int oder float dabei sind dann geht das so :

str(T1)+str(U1)

Also wie gesagt, ich programiere in Python, deshalb kann es sein das es in Java etwas anders geht

Woher ich das weiß:Hobby

Hallo!

Überlege halt mal, Strings sind Zeichenketten, du willst also sowas wie

"Hanna" + "MySafeSpace" ausrechenen --> das ist mathematisch Quatsch.

Du musst Zahlen nehmen!!!!!

5 + 12 ergibt 17 aber "Wo" + "hin" ergibt vielleicht "Quo Vadis", in deinem Kopf, aber es gibt keine mathematische Regel dafür.

gRU?


MySafeSpace 
Beitragsersteller
 28.12.2015, 14:16

Ja dass ich Zahlen nehmen muss ist mir bewusst... Nur weis ich nicht wie ich diese Zahlen zusammenrechnen kann. Also wie ich die Zahlen die eingebe dann schliesslich zusammenrechnen kann. 

0
verreisterNutzer  28.12.2015, 14:41
@MySafeSpace

Du musst sie als Zahlen deklarieren -- du lernst, hast du keine Unterlagen???

z.B.

float y = 5.2

float z =4.0

... die replace-Funktion geht nur auf Strings, dann musst du halt, wie ein anderer hier schon gesagt hat, diese in Strings konvertieren und nach dem replace wieder in Zahlen umwandeln.

Aber ich glaube, dies ist noch zu viel für deinen Kenntnisstand.

Versuche erstmal nur mit Zahlen klar zu kommen.

0
MySafeSpace 
Beitragsersteller
 28.12.2015, 14:47
@verreisterNutzer

Meine Unterlagen sind im Moment nicht verfügbar. Deswegen frag ich hier nach. 

0