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