Falls Ihr so wie ich einmal vor dieser Aufgabe steht, mit Hilfe von Java systematisch die größte Ziffer einer Zahl und deren Position in der Zahl herausfinden sollt, dem hilft sicherlich meine nachstehende Lösung. Mit Position sind die 1er, 10er und so weiter gemeint. Um diese Aufgabe lösen zu können, braucht man Verständniss über Schleifen und der Modulo-Operation. Ich habe den Quelltext so kommentiert, dass die Aktionen der Programmbefehle klar sein sollten. Falls nicht, einfach in den Kommentaren fragen.
public class GroessteZifferFinden {
public static void main(String[] args) {
int zahl = 49583; // zu "analysierende Zahl
int groessteZiffer = 0; // variable zur ausgabe der größten Ziffer
int teiler = 10; // wird genutzt um letzte Ziffer abzuschneiden
int position = 1; // Tempörae Position der zu "analysierenden" Ziffer
int positionGroessteZiffer = 0; // Position der größten Ziffer
while(zahl != 0) // gilt solange die letzte Ziffer nicht durch den Teiler abgeschnitten wurde
{
int ziffer = zahl % teiler; // mit Modulo Operation letzte Ziffer bekommen bei 48 % 10 = 8
// Modulo gibt immer den Rest bei Division aus
if(ziffer > groessteZiffer) // größer als zuvor gefundene Ziffer?
{
groessteZiffer = ziffer; // wenn ja, dann ziffer und position speichern
positionGroessteZiffer = position;
}
zahl = zahl / 10; // letzte Ziffer abschneiden,
// um die nächsten Ziffern zu analysieren
// im weiterem Schleifendurchgang
position *= 10; // Position immer mitzählen
}
// Ausgabe des Ergebnisses
System.out.println(groessteZiffer + " " + positionGroessteZiffer + "er");
}
}
Testdaten:
49583 – größte Ziffer: 9 Position: 1000er
60001 – größte Ziffer: 6 Position: 10000er
10023 – größte Ziffer: 3 Position: 1er



