Verstehe das Programm(Quellcode) nicht!!

Mixer007

Mitglied
Hallo,

ich habe eine Frage bezüglich des folgenden Quellcodes.
Das Programm soll die Quersumme einer natürlichen Zahl ermitteln
Hier der Quellcode:
Java:
public class Aufgabe5{ 
 public static void main(String[] args) { 
 int z, qs=0, help; 
 Scanner input = new Scanner(System.in); 
 System.out.print("Enter z: "); z = input.nextInt(); 
 if(z>0) 
 help = z; 
 else 
 help = -z; 
 while(help>0) { 
 qs = qs +help%10; 
 help = help/10; 
 } 
 System.out.println("Quersumme der Zahl " + z + " ist " + qs);
}}
Ich verstehe nicht was dieses "help " ist und die while schleife auch nicht. Kann mir das bitte jemand erklären??
 

njans

Top Contributor
Mal abgesehen, dass der Source Code furchtbar aussieht: Help sorgt dafür, dass die Zahl positiv ist, damit man bei der Modulo Operation sich keine Gedanken um das Vorzeichen machen muss.
 

pkroll

Mitglied
Ich erhalte eine Fehlermeldung beim Kompilieren mit "javac" (mit obigem Quellcode):

C:\Documents and Settings\USER\Desktop\javatmp>javac HelloWorld.java
HelloWorld.java:8: error: cannot find symbol
Scanner input = new Scanner(System.in);
^
symbol: class Scanner
location: class HelloWorld
HelloWorld.java:8: error: cannot find symbol
Scanner input = new Scanner(System.in);
^
symbol: class Scanner
location: class HelloWorld
2 errors

Irgendwie kennt mein Programm "Scanner" nicht.
Wieso?
 

Mixer007

Mitglied
njans, kannst du noch erklären was diese modulo operation ist. Ich hab immer noch Probleme damit zu verstehen wie das Programm abläuft.
 

Mixer007

Mitglied
Ja aber trotzdem viel geholfen hat mir das nicht. Ab zeile 10 verstehe ich nichts mehr :(
WArum schreibt man qs=qs +help%10. Was bringt mir diese Operation
 
Zuletzt bearbeitet:

pkroll

Mitglied
Ich gebe Dir mal einen Tip. Es wurde schon genannt.

Mach mal in der Schleife TESTAUSGABEN mit System.Out...

Dann wirst Du sehen, das es ganz einach ist.
 

Mixer007

Mitglied
ALso ich kann das Programm leider nicht mal ausführen. Eclipse meldet mir folgendes: Fehler: Hauptklasse Algorithmus konnte nicht gefunden oder geladen werden
 

HarleyDavidson

Bekanntes Mitglied
Java:
public class Aufgabe5{ 
	public static void main(String[] args) { 
		int z, qs=0, help; 
		Scanner input = new Scanner(System.in); 
		System.out.print("Enter z: "); z = input.nextInt(); 
		if(z>0) 					//Wenn z größer 0 ist...
			help = z; 				//wird help = z gesetzt
		else 						//Wenn z kleiner 0 ist...
			help = -z; 				//wird help = -z gesetzt >> help ist damit immer größer als 0
		while(help>0) 				//Solange help größer 0 ist
		{ 
			System.out.println( "qs= "+qs+", help= "+help );
			qs = qs +help%10; 		//modulo 10 (help%10) bedeutet nichts anderes, als die erste Ziffer abschneiden
			help = help/10; 
		} 
		System.out.println("Quersumme der Zahl " + z + " ist " + qs);
	}
}

Hier mal eine Testausgabe, die meine Kommentare NOCH verständlicher machen sollten:

Code:
Enter z: 
1235456
qs= 0, help= 1235456
qs= 6, help= 123545
qs= 11, help= 12354
qs= 15, help= 1235
qs= 20, help= 123
qs= 23, help= 12
qs= 25, help= 1
Quersumme der Zahl 1235456 ist 26

Bedeutung der Fehlermeldung "Hauptklasse konnte nicht gefunden werden" ist klar. Folgende Ursachen sind denkbar:
- Du hast doch einen Fehler in Deinem Code z.B. falsche/fehlende Package-Angabe
- Eclipse kompiliert in einen Outputfolder hinein. Dort kommen dann die .class-Dateien zum liegen. Aus irgend einem Grund fehlt die .class-Datei der Hauptklasse. Ein "Project -> Clean" schafft hier Abhilfe.
 
Zuletzt bearbeitet:

njans

Top Contributor
Java:
 while(help>0) {
 qs = qs +help%10;
 help = help/10;
 }
qs und help sind integer. Bei einer division von zwei integern wird immer abgerunden:
9/4 = 2,
15/3 = 5,
19/18 = 1,
8/9 = 0,
9/10 = 0

Das wird dahingehend genutzt, dass du, wenn du eine Dezimalzahl durch zehn teilst, die erste Stelle praktisch abschneidest:
1234 / 10 = 123,
123 / 10 = 12

Mithilfe des Modulos kannst du von der Zahl aber die niederwertigste Stelle extrahieren:
1234 % 10 = 4
123 % 10 = 3
12 % 10 = 2

Die Whileschleife wird solange ausgeführt, bis deine variable help den Wert 0 hat (sie wurde so oft durch 10 geteilt, dass 0 erreicht wird). dabei wird dann in jedem Schritt zuerst der niedrigste Wert extrahiert und auf die aktuelle Quersumme qs addiert:
Java:
 qs = qs +help%10;
Anschließend weißt man help einen neuen Wert zu, indem man den aktuellen Wert von help nimmt und den nierdrigsten Wert abschneidet.

P.S. "Hauptklasse Algorithmus nicht gefunden" kommt wohl auch zustande, wenn du versuchst die falsche main-Methode auszuführen. Immerhin ist deine Mail in der Klasse Aufgabe5.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
7 Verstehe Programm nicht Java Basics - Anfänger-Themen 6
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
nbergmann x /= n : Verstehe ich nicht. Java Basics - Anfänger-Themen 24
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
K Erste Schritte Ich verstehe das Summenprogramm nicht Java Basics - Anfänger-Themen 10
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
V Erste Schritte Array.length[x] in einer Schleife - ich verstehe das nicht Java Basics - Anfänger-Themen 1
Y Erste Schritte Ich verstehe this. nicht so richtig Java Basics - Anfänger-Themen 5
DaCrazyJavaExpert Methoden Verstehe Feheler nicht! Java Basics - Anfänger-Themen 7
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
dave253 Ich verstehe folgenden Code nicht.. Java Basics - Anfänger-Themen 12
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
O Ich verstehe nicht, was Eclipse von mir will Java Basics - Anfänger-Themen 10
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
F verstehe diese Variable nicht... Java Basics - Anfänger-Themen 4
A Codezeile die ich nicht verstehe Java Basics - Anfänger-Themen 7
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
V Verstehe die Logik nicht ... Java Basics - Anfänger-Themen 30
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
B Erste Schritte Verstehe das nicht Java Basics - Anfänger-Themen 3
C verstehe get und set nicht Java Basics - Anfänger-Themen 3
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
T ich verstehe array nicht! Java Basics - Anfänger-Themen 11
P for Schleife mit break, verstehe die Ausgabe nicht Java Basics - Anfänger-Themen 6
A Verstehe readLine()-Funktion nicht Java Basics - Anfänger-Themen 3
A Verstehe das GUI nicht! Java Basics - Anfänger-Themen 7
D Verstehe Zusammenhang nicht- Und ihr? Java Basics - Anfänger-Themen 4
M THREADS - Ich verstehe es nicht Java Basics - Anfänger-Themen 10
T Verstehe Bufferreader prinzip nicht Java Basics - Anfänger-Themen 3
E I-JVM verstehe ich das richtig (bytecode aufgabe) Java Basics - Anfänger-Themen 2
M Verstehe Aufgabe nicht, wie kann man schleifen einbauen? Java Basics - Anfänger-Themen 5
N Verstehe Step10 bei jME Eclipsetutorial nicht Java Basics - Anfänger-Themen 4
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
N Verstehe diese Aufgabe nicht! Java Basics - Anfänger-Themen 16
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
S Finde den Fehler nicht/ verstehe Anweisung nicht Java Basics - Anfänger-Themen 12
K Ich verstehe switch einfach nicht Java Basics - Anfänger-Themen 4
C Verstehe Code-Teil nicht. Java Basics - Anfänger-Themen 2
S Ich verstehe diese Methode nicht! Java Basics - Anfänger-Themen 6
G Verstehe das nicht. bitte um hilfe Java Basics - Anfänger-Themen 13
R Thread startet nicht, verstehe nicht warum Java Basics - Anfänger-Themen 2
R Verstehe die Ausgabe von folgendem Code nicht Java Basics - Anfänger-Themen 4
A verstehe aufgabenstellung nicht! Java Basics - Anfänger-Themen 47
S verstehe den fehler nicht Java Basics - Anfänger-Themen 14
C Verstehe die Syntax nicht! Java Basics - Anfänger-Themen 2
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
G verstehe das problem nicht :( Java Basics - Anfänger-Themen 4
S RegEx Syntax - ich verstehe sie einfach nicht! Java Basics - Anfänger-Themen 3
G verstehe den unterschied zwischen equals und == nicht Java Basics - Anfänger-Themen 3
E Verstehe eine Schleife nicht Java Basics - Anfänger-Themen 5
B Eine Linie zeichnenmit Java, ich verstehe das einfach nicht Java Basics - Anfänger-Themen 4
G Verstehe einen Aufruf absolut nicht Java Basics - Anfänger-Themen 2
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
M Mini Jar-Programm Java Basics - Anfänger-Themen 51
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
Z Programm Ideen Java Basics - Anfänger-Themen 8
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
T Programm stürzt ab Java Basics - Anfänger-Themen 40
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
K Ist das Programm schlecht bzw. schlampig programmiert ? Java Basics - Anfänger-Themen 9
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
nbergmann IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch? Java Basics - Anfänger-Themen 26
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben