Skip to main content

Java Übung 22 – Finde die letzte Ziffer

In dieser Java Übung geht es darum, die letzte Ziffer einer Zahl zu finden.

Was meine ich damit?
Die letzte Stelle der Zahl 278 ist acht.
Die letzte Stelle der Zahl 5432 ist zwei.

Aufgabe 1:

  • Lege eine Klasse namens „LetzteZiffer“ an und schreibe eine Methode „findeLetzteZiffer(int zahl)“, welcher du beim Aufruf eine ganze Zahl übergibst.
  • Die Aufforderung zur Eingabe der Zahl soll über den Scanner erfolgen.
  • Die Methode „findeLetzteZiffer()“ liefert dir eine Bildschirmausgabe mit der letzten Ziffer zurück.
  • Zur Überprüfung rufe die Methode in der main-Methode der Klasse auf und übergib ihr die Zahl 5432.

Aufgabe 2:

  • Schreibe eine zweite Methode „findeLetzteZiffern(int zahl, int anzahl)“, welche dir die x-beliebige Anzahl der letzten Ziffern ausgibt.
  • Du übergibst dieser Methode als zweiten Parameter die Anzahl der letzten Ziffern.
  • Und auch diese Methode erzeugt eine Bildschirmausgabe mit den letzten Ziffern der übergebenen Zahl.
  • Zur Überprüfung rufe auch diese Methode in der main-Methode der Klasse auf und übergib ihr die Zahl 5432.
    Und als Anzahl übergibst du ihr die Zahl 3.

Na dann viel Spaß bei dieser Java Übung.


Zur Lösung dieser Java Übung benötigst du den Modulo-Operator

Der Modulo Operator gibt dir den Restwert einer Division zurück.

Und wenn du von einer ganzen Zahl die letzte Ziffer haben möchtest, musst du eine Kommastelle verschieben.
Und Kommastellen verschiebst du entweder durch Division oder Multiplikation mit 10-Potenzen.

Klingt im ersten Augenblick etwas schwierig.
Ist es aber nicht.
Am Beispiel:

  • Die Zahl 278 geteilt durch 10 ergibt 27 und Rest 8.
  • Die Zahl 5432 geteilt durch 10 ergibt 543 und den Restwert zwei.

Ds heißt:
Der Modulo 10 liefert dir die letzte Ziffer einer Zahl.

Und so im Code.


import java.util.Scanner; //Importanweisung für den Scanner

public class LetzteStelle {
	
	static void findeLetzteZiffer(int zahl){
		System.out.println("letzte Stelle: " + zahl % 10);//Rückgabe der letzten Stelle
	}

	public static void main(String[] args) {
		System.out.println("Gib eine Zahl ein");//Aufforderung zur Eingabe
		Scanner eingabe = new Scanner(System.in);//Scanner anlegen
		int zahl = eingabe.nextInt();//Eingabe und Speicherung der Zahl
		findeLetzteZiffer(zahl);//Aufruf der Methode  und Übergabe der Zahl
	}
}

So kannst du die Anzahl der Ziffern selbst festlegen.

Wenn du jetzt vielleicht die letzten zwei oder drei benötigst – nutzt du den Modulo von 100 oder tausend.

Die zweite Methode bekommt neben der eigentlichen Zahl noch die Anzahl der Stellen übergeben.

Im Rumpf der zweiten Methode muss jetzt eine Schleife die entsprechende 10-er Potenz finden.
Zum Beispiel:
Du übergibst die 3.
Dann bedeutet das 10*10*10=1000.

Da die Anzahl der Schleifendurchläufe übergeben wird und somit bekannt ist, bietet sich die for-Schleife an.

Und so würde sich der Kopf der Schleife zusammensetzen.

  • Der Schleifenzähler startet bei Null:
    int i=0;
  • Die Schleifenbedingung ist demnach:
    i muss kleiner sein, als der übergebene Parameter – also kleiner als die Anzahl der Stellen, welche du haben möchtest.

    i < anzahl;
  • Und i wird ganz normal hochgezählt:
    i++

Es ergibt sich demnach folgender Schleifenkopf.

(int i=0; i < anzahl; i++)

Im Rumpf der Schleife wird jetzt die 10-er Potenz gebildet.
Dafür benötigst du in der Methode eine lokale Variable, welche die Potenz speichert.
Der Startwert dieser lokalen Variablen muss eins sein.

Somit lautet die Anweisung im Schleifenrumpf.
potenz=potenz*10;

Und hier der komplette Code zur zweiten Methode:


import java.util.Scanner;

public class LetzteStelle {
	
	static void findeLetzteZiffern(int zahl, int anzahl){
		int potenz=1;//muss 1 sein da Multiplikation im Rumpf mit null unmöglich
		
		for(int i=0;i<anzahl;i++){
			potenz=potenz*10; //Hochpotenzieren entsprechend der Anzahl der Durchläufe
		}	
		System.out.println("letzten "+ anzahl+" Stellen: " + zahl % potenz);//Rückgabe der letzten Stellen
	}

	public static void main(String[] args) {
		Scanner eingabe = new Scanner(System.in);//Scanner anlegen
		
		System.out.println("Gib eine Zahl ein");//Aufforderung zur Eingabe
		int zahl = eingabe.nextInt();//Eingabe und Speicherung der Zahl
		
		System.out.println("Wie viele Stellen benötigst du?");
		int anzahl=eingabe.nextInt();//Eingabe und Speicherung der Anzahl der letzten Ziffern
		
		findeLetzteZiffern(zahl,anzahl);//Aufruf der Methode und Übergabe der Zahl
	}
}

Ähnliche Beiträge

So kannst du Werte aus zwei oder mehreren Java Arrays verrechnen.

Java Arrays verrechnen

Wie kann man Werte aus zwei oder mehreren Java Arrays miteinander verrechnen? Zum Beispiel: Du möchtest alle Werte des ersten Arrays mit allen Werten des zweiten Arrays addieren Oder du möchtest die Summe aus beiden Arrays wissen und erst dann diese miteinander addieren. Was erwartet dich in diesem Beitrag? Zuerst werde ich dir zeigen, wie […]

So nutzt du die While Schleife in deinem Java Programm

Java While Schleife

Manchmal ist es wichtig, Dinge einmal öfter zu tun. Bei der Java Programmierung kann es schonmal sein, dass du einen Code mehrfach ausführen lassen musst. Zum Beispiel die Zahlen eins bis zehn. Ein Java Programm, welches die Zahlen eins bis zehn wiedergibt. Na wie wäre das? Der Java Code dazu würde so aussehen: public class […]

So verwendest du Inkrement und Dekrement Operatoren in deinen Java Programmen

Java Operatoren

In diesem Beitrag geht es um Java Operatoren. Ich möchte dir gern zwei neue Operatoren vorstellen. Diese nennen sich Inkrement und Dekrement. Ja was heißt das? Inkrementieren bedeutet eine schrittweise Erhöhung einer Zahl. Und dementsprechend bedeutet Dekrementieren: Die schrittweise Verminderung einer Zahl. Wozu brauchst du das? Stell dir vor. Du bekommst eine Liste mit Namen […]

Von Java Klassen zum Java Programm – Der Programmstart

Java Klassen ausführen

In den letzten Beiträgen hast du gelernt, wie Java Klassen erstellt werden und aufgebaut sind. In diesem Beitrag geht es um den Programmstart. Ich will dir zeigen, was nötig ist, dass du ein Java Programm ausführen kannst. Und ich zeige dir außerdem, wie du eine Startklasse in einem x-beliebigen Javaprogramm anlegst. Wie auch schon zuvor, […]

Nutze die richtigen Methoden zum Java Lernen

Java lernen Methoden

Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und noch einen. Aber das Wichtigste. […]

So nutzt du das Java Keyword public

Java Keyword public

Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.

So kannst du deine Java Methoden ausführen

Java Methoden ausführen

Du hast die ersten Java Methoden erstellt. Doch wie greifst du jetzt auf diese zu? Wie kannst du diese Methoden in einer anderen Klassen aufrufen? Welcher Unterschied, hinsichtlich des Methodenaufrufes, besteht eigentlich zwischen deinen Java Methoden? Diese Fragen möchte ich gern in diesem Beitrag beantworten. Gehen wir dazu in den Garten und schauen uns Blumen […]

Der Aufbau von Java Klassen

Java Klassen Aufbau

Jedes Java Programm besteht aus Java Klassen. Doch wie sind diese aufgebaut? Wie setzt sich die Struktur zusammen? Wo befinden sich Klassen hierarchisch? Was kommt in die Klassen rein und wie wird es integriert? Das sind die Fragen, welche ich in diesem Artikel beantworten werde. Doch bevor wir bei den Klassen ansetzen, müssen wir eine […]

Achte bei Java Methoden stets auf die Wertübergabe

Java Methoden Wertübergabe

Ich lege gleich los…. Schau dir diesen Code einmal an. Welche Zahl wird wohl auf der Bildschirmanzeige zurückgegeben? public class MethodenWertUebergabe { static int verdoppele (int i){ i=i*2; return i; } public static void main(String[] args) { int i = 2; verdoppele(i); System.out.println(i); } }

Ein Java Fenster erzeugen mit dem JFrame

Java-Fenster-erzeugen

Ein Java Fenster erzeugen mit Swing. Java Swing – was ist das? Zum Erstellen von grafischen Benutzeroberflächen, kurz GUI, bietet Java eine eigene Standardklasse an. Diese Klasse nennt sich Swing. Aus dieser Swing-Klasse heraus können Objekte erstellt werden. Diese Objekte lassen sich in vier verschiedene Kategorien einteilen. Fenster und Dialoge bilden das Grundgerüst einer grafischen […]

Sicherer Schleifendurchlauf mit Do while Schleife

Java Do While Schleife

Es ist doch eigentlich so: Immer wenn du die Anzahl der Schleifendurchläufe nicht kennst, nutzt du in deinen Java Programmen while Schleifen. Doch Java bietet dir neben der While Schleife einen weiteren Schleifentyp an. Diese nennt sich do while Schleife. Was kann die? Eigentlich genau das Gleiche, wie die while Schleife. Mit einem kleinen aber […]