Quersumme Berechnen mit einer While Schleife

Poppigescorn

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

Poppigescorn

Mitglied
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();
            }


    }
 
F

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

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?
 
F

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:
F

fhoffmann

Top Contributor
Hast du dir die Dokumentation der Klasse String, die ich verlinkt habe, wirklich angesehen und verstanden?
Das sollte man auch im ersten Semester schaffen!
 
F

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:
kneitzel

kneitzel

Top Contributor
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.
 
J

Joreyk

Bekanntes Mitglied
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:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
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
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
UnknownInnocent 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
UnknownInnocent 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
L Wochentag berechnen Java Basics - Anfänger-Themen 5
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ausdrücke berechnen Java Basics - Anfänger-Themen 2
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
P Quadrate berechnen Java Basics - Anfänger-Themen 3
S OOP Datumsunterschied in Tagen berechnen Java Basics - Anfänger-Themen 3
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Schaltjahre berechnen! Java Basics - Anfänger-Themen 1
A werte in einem String berechnen Java Basics - Anfänger-Themen 3
F Checksummen aus int-Array berechnen Java Basics - Anfänger-Themen 3
F Toto-Tipp-Reihen berechnen Java Basics - Anfänger-Themen 1
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
S Button "Berechnen" geht nicht Java Basics - Anfänger-Themen 3
M Fakultät berechnen Java Basics - Anfänger-Themen 2
R Palindrom eines int-Arrays berechnen Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Anzeige

Neue Themen


Oben