Quersumme Berechnen mit einer While Schleife

Poppigescorn

Mitglied
Ich habe folgenden Code von einem Freund bekommen und hab da ein paar Fragen.

Meine Fragen beziehen sich alle auf die While schleife

Frage1: Was genau bedeutet das "i < eingabewert.length()"?
Frage2: Im Substring wurde als erster Wert "i" angegeben aber was macht das "i+1" nach dem komma genau?
Frage3: Wieso ist am ende der Schleife das "i++;"?



import java.util.Scanner;

public class Quersumme {

public static void main(String[] args) {

System.out.print("Geben Sie eine Zahl ein");
Scanner scan = new Scanner(System.in);
String eingabewert = scan.nextLine();
int quersumme = 0;

int i=0;
while (i < eingabewert.length()) {

String b = eingabewert.substring(i,i+1);
quersumme = quersumme + Integer.parseInt(b);

i++;


}

System.out.print("Die Quersumme von " + eingabewert + " ist " + quersumme);

scan.close();
}


}



}
 

Poppigescorn

Mitglied
[CODE lang="java" title="Hier nochmal der Code, wusste nicht wie ich das oben angebe sorry :/"]import java.util.Scanner;

public class Quersumme {

public static void main(String[] args) {

System.out.print("Geben Sie eine Zahl ein");
Scanner scan = new Scanner(System.in);
String eingabewert = scan.nextLine();
int quersumme = 0;

int i=0;
while (i < eingabewert.length()) {

String b = eingabewert.substring(i,i+1);
quersumme = quersumme + Integer.parseInt(b);

i++;


}

System.out.print("Die Quersumme von " + eingabewert + " ist " + quersumme);

scan.close();
}


}


[/CODE]
 
G

Gelöschtes Mitglied 65838

Gast
da gibts sicher eine mathematische lösung mit modulo 10 und nbissl minus und plus rechnen ohne strings ;)
 

fhoffmann

Top Contributor
Du solltest dich mit den Grundlagen von Java beschäftigen. Wir können dir hier nicht alle Details erklären.

Aber ein Versuch zu deiner ersten Frage:
Frage1: Was genau bedeutet das "i < eingabewert.length()"?
In "eingabewert" steht der Text (String), den der Benutzer eingegeben hat. In eingabewert.length() steht - wer hätte das gedacht - die Länge der Eingabe. i durchläuft alle Indizes von Buchstaben in eingabewert (diese beginnen mit 0 und enden mit length - 1).
 

Poppigescorn

Mitglied
Du solltest dich mit den Grundlagen von Java beschäftigen. Wir können dir hier nicht alle Details erklären.

Aber ein Versuch zu deiner ersten Frage:

In "eingabewert" steht der Text (String), den der Benutzer eingegeben hat. In eingabewert.length() steht - wer hätte das gedacht - die Länge der Eingabe. i durchläuft alle Indizes von Buchstaben in eingabewert (diese beginnen mit 0 und enden mit length - 1).
oh okay danke :D
String b = eingabewert.substring(i,i+1);
und das bedeutet dass er die Length um eine Stelle Erweitert?
 

fhoffmann

Top Contributor
Du solltest dir einmal die Grudlagen der Java-Bibliothek anschauen, zum Beispiel (für Java 8) unter:

Dann würdest du auch verstehen, dass
String b = eingabewert.substring(i,i+1);
einfach das Zeichen (als String) an der i-ten Stelle heraussucht.
 
Zuletzt bearbeitet:

fhoffmann

Top Contributor
Die Liste ist sehr unübersichtlich :/ ich bin erst seit 2 Wochen an Java bin echt noch dabei mich da einzulesen
Das mag stimmen.
Aber die Dokumentation der Java-API ist ein wichtiges Hilsmittel, um Java-Programme zu verstehen.
Du solltest dir unbedingt Zeit nehmen, die Bedienung zu verstehen!

Die Klasse "String" ist beispielsweise dokumentiert unter dem package "java.lang"
Du klickst also zuerst auf dieses Package.
Dann klickst du auf die Klasse String.
Dann bekommst du die Methode "substring" angeboten (mit Kurzinformationen)
Durch einen erneuten Klick auf diese Methode bekommst du Detailinformationen.

EDIT: In Java 11 gibt es "Module" und möglicherweise sieht hier die Dokumentation auch anders aus. Vieleicht kann @kneitzel dazu noch etwas sagen.

EDIT2:
Folgende Aussagen sind eine schlechte Ausrede:
Code:
   bin im ersten Semester haha
   Die Liste ist sehr unübersichtlich :/ ich bin erst seit 2 Wochen an Java bin echt noch dabei mich da einzulesen
Es wird im Studium (anders als in der Schule) erwartet, dass man sich selbständig mit bestimmten Themen beschäftigt.
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Ja, aber Java 9 ändert sich die Dokumentation in so fern, als das bei der Referenz noch die Unterteilung in Module dazu gekommen ist.

Also wenn man z,B. die Referent zu der Java 15 API öffnet:
dann sieht man erst einmal eine Liste an Modulen und müsste dann wissen, in welchem Modul java.lang.String steckt.

Generell bietet die Dokumentation aber eine Suchfunktion, also oben rechts einfach einmal "String" eingeben oder "java.lang" (Wobei java.lang ja ggf. auch unbekannt ist. Da java.lang immer importiert ist, übersieht man das ja leicht am Anfang.)
Da kann man auch direkt nach einer Methode suchen, also z.B. substring eingeben. Dann bekommt man eine Liste mit diversen Klassen, also z.B. String, StringBuilder und StringBuffer kommen zuerst und jede mit zwei Implementationen (int und int, int). Und dann kommen noch mehr Klassen und auch Methoden, die substring nur enthalten. Die Suche ist also relativ mächtig.

Generell muss man sich etwas mit dem Aufbau vertraut machen. Da ist Übung wirklich wichtig. Ebenso kann ich nur empfehlen, das Suchen in Google zu üben. Wenn man ein Gefühl für Suchbegriffe und so bekommen, dann hilft das ungemein.

Zu allen Elementen der Sprache selbst kann man in der Regel auch einiges finden. Was macht eine While Schleife? Oder wie sind Schleifen generell in Java aufgebaut? Hier kann ich nur empfehlen, dass Du Dir alles erarbeitest. Diese Grundlagen werden extrem schnell verlassen und da jetzt Zeit zu sparen kostet später ein vielfaches an Zeit!
Meine Empfehlung ist auch ganz klar ein gutes Buch. Bücher die man schnell durchziehen kann sind aus meiner Sicht "Head first java" (Java von Kopf bis Fuss) und Schrödinger programmiert Java. Sind beide locker geschrieben. Aber nur weil man da schnell drüber lesen kann: Wirklich auch praktisch nutzen! Das ist extrem wichtig! Nur durch anwenden vertieft es sich und Du bekommst ein Gefühl dafür.

Wenn Du noch keine Erfahrung in anderen Programmiersprachen hast, dann ist das nur noch wichtiger.

Generell ist auch die Frage: Wie gut schaffst Du es, Kontakte zu knüpfen? Bei uns damals war es üblich, dass man sich zusammen getan hat und dann auch gemeinsam gelernt hat oder gemeinsam gegrübelt hat, was hinter den Worten des Professors alles stecken könnte :)
Das mag mit Corona problematisch sein, aber da technische Möglichkeiten gibt es ja viele. Zur Not erstellt man einen Discord Server (oder was auch immer eure bevorzugten Tools sind) auf dem man sich treffen und austauschen kann.
 
G

Gelöschtes Mitglied 65838

Gast
Um jetzt nochmal auf das zu Kommen was ich gemeint hatte... dein Scanner funktioniert nur wenn du weist dass der Benutzer sich damit auskennt aber das kannst du NIRGENDS erwarten ausserdem bekommst du dann noch das fach Algorithmen und Datenstrukturen und da musst du das logische denken besitzen so wenig ausnahmen wie mögich zu eruzeugen und wenn du dir das im ersten semester nicht holst kommen probleme auf

1. gib mal 12b23 ein , das programm stürzt sofort ab

du kannst natürlich die Exception auffangen aber es muss ja nicht sein wenn du sowieso nur beim scanner.nextInt erlaubst


Der Prof wollte hinaus dass du Modulo und geteilt benutzt ..deswegen die While schleife
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
R Quersumme berechnen - Methodenproblem Java Basics - Anfänger-Themen 1
J Quersumme berechnen Java Basics - Anfänger-Themen 15
S Quersumme berechnen Java Basics - Anfänger-Themen 8
G Quersumme berechnen (BigInteger) Java Basics - Anfänger-Themen 3
M iterierte alternierende Quersumme Java Basics - Anfänger-Themen 3
K Quersumme erstellen Java Basics - Anfänger-Themen 7
O Quersumme rekursive Methode Java Basics - Anfänger-Themen 3
F Quersumme String in Int Java Basics - Anfänger-Themen 6
I Quersumme Java Basics - Anfänger-Themen 3
S Quersumme und alternierende Quersumme Java Basics - Anfänger-Themen 1
D Quersumme Java Basics - Anfänger-Themen 2
N Methoden Quersumme einer Zahl. Returnproblem Java Basics - Anfänger-Themen 4
S Problem bei "Quersumme-Programm" Java Basics - Anfänger-Themen 15
R iterierte Quersumme bilden Java Basics - Anfänger-Themen 18
N Algorithmus für Berechnung einer Quersumme Java Basics - Anfänger-Themen 9
X Quersumme ganzzahlig teilen problem Java Basics - Anfänger-Themen 9
M Quersumme einer long zahl Java Basics - Anfänger-Themen 4
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8
L Durchschnitt in der Schleife berechnen Java Basics - Anfänger-Themen 11
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39

Ähnliche Java Themen

Neue Themen


Oben