Java Übung & Lösung: Restwerte mit Modulo Operator
Schlagwörter: Java Operatoren, Java Übungen


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
Schlagwörter: Java Instanzen, Java Übungen
In dieser Java Übung geht es um Mahnungen. Ja, Mahnungen zu Rechnungen.
Schlagwörter: Java Instanzen, Java Übungen
In dieser Java Übung geht es um Objekte und es geht um Referenzvariablen. Es geht um den Zugriff auf Java Objekte durch mehr als eine Referenzvariable. Erstelle dazu eine Java Klasse, namens „ReferenzTest“. Dieser Klasse führt drei Instanzvariablen a, b und c, vom Datentyp Integer.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. […]
Schlagwörter: Java Übungen
In dieser Java Übung sollst du mit Hilfe des switch case Statements die Eintrittspreise für ein Rockkonzert bestimmen lassen.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher […]
Schlagwörter: Fakultät, Java Übungen
In dieser Java Übung geht es um die Fakultät aufeinander folgender Zahlen. Für alle, bei denen der Mathe-Unterricht genauso lange her ist, wie bei mir: Die Fakultät ist das Produkt aufeinander folgender natürlicher Zahlen. Zum Beispiel: Die Fakultät von 2 ist: 1*2=2 Die Fakultät von 5 ist: 1*2*3*4*5=120 So – […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es vor allem um Bildschirmeingaben. Du wirst lernen, wie du Konsoleneingaben einliest und diese in Methoden einfließen lassen kannst.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode zum Zählen von Kommastellen schreibst. Lege dazu eine Klasse „KommaZahl“ an. Diese Klasse enthält die statische Methode „zaehleKommaStellen“, welche eine Kommazahl als übergebenen Parameter erwartet.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom […]
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung geht es um die Wertübergabe in Java Methoden. Schau dir bitte diesen Java Code einmal an und überlege dir, welche Bildschirmausgabe erzeugt wird. Welchen Wert hat die Klassenvariable x?
Schlagwörter: Java Programmierung, Java Übungen
Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es um Zahlen. Um genau zu sein…. Es geht um gerade und ungerade Zahlen. Zur Erinnerung. Gerade Zahlen sind Zahlen, welche durch zwei teilbar sind. Ungerade Zahlen sind alle Zahlen, welche nicht glatt durch zwei teilbar sind. Ich möchte, dass du eine Klasse „GeradeZahlen“ anlegst. […]
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung lernst du, wie du in Java Arrays anlegst.
Schlagwörter: Java Übungen
In dieser Java Übung geht es darum ein kleines Java-Spiel zu erstellen. Und zwar Zahlen raten. Was kannst du dir darunter vorstellen? Du gibst einen bestimmten Wertebereich an. Zum Beispiel 0 bis 100. Und das Java Programm erstellt eine Zufallszahl in diesem Bereich. Dann fordert dich das Programm auf, die […]
Schlagwörter: Java Übungen
In dieser Java Übung geht es noch einmal um das switch case statement.
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll […]
Schlagwörter: Java Datentyp, Java Schleifen, Java Übungen
In dieser Java Übung werden wir uns die Zeichen des Character Datentypen näher anschauen. Die einzelnen Zeichen sollen auf der Konsole ausgegeben werden. Und wie? Das ganze sollst du mit einer For Schleife machen. Erstelle deshalb eine Klasse „CharZeichen“. In dieser Klasse implementierst du dann eine Klassenmethode, namens „gibZeichen“. Und […]
Schlagwörter: Java Operatoren, Java Programmierung
Stell dir einmal vor: Du hast deine erste Java Software entwickelt. Du bist verdammt stolz auf dein Programm. Und jetzt gibst du es für die Nutzung oder für den Test frei. Die Software verlangt vom User ein paar Eingaben. Beispiele wären die Körpergröße oder das Alter. Und jetzt gibt der […]
Schlagwörter: Java Arrays, Java Übungen
Die ist die zweite Java Übung zu Java Arrays.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich mit dir zusammen den Flächeninhalt eines Rechteckes berechnen. Zur Erinnerung der Flächeninhalt wird berechnet, indem du die Länge mit der Breite multiplizierst.
Schlagwörter: Java Operatoren, Java Programmierung
In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Was bedeutet das Exklusives Oder in der Java Programmierung Ein Beispiel: Was willst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine […]
Schlagwörter: Java Instanzen, Java Klasse, Java Übungen
In dieser Java Übung, wirst du ein Objekt erstellen.
Schlagwörter: Java Arrays, Java Übungen
Diese umfangreiche Java Übung ist eine weitere Übung zu Java Arrays. Ich habe dafür schon ein kleines Beispiel vorbereitet. Gegeben ist ein Array, welches Integer Werte speichert.
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es um Schleifen. Und zwar möchte ich, dass du eine virtuelle Geldruckmaschine erstellst. Was meine ich damit? Du gibst in der Konsole einen x-beliebigen Betrag ein und das Programm gibt dir virtuelle Geldscheine zurück. Ein Beispiel: Du gibst die Zahl 400 ein. Dann liefert dir […]
Schlagwörter: Java Instanzen, Java Methoden, Java Übungen
In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { […]
Schlagwörter: Java Methoden, Java Übungen
Ein wesentlicher Bestandteil im Konzept der objektorientierten Programmierung ist die Datenkapselung. Und um Datenkapselung soll es in dieser Java Übung gehen.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich den Inhalt der letzten Lektionen wiederholen. Ich möchte den Unterschied zwischen Klassen- und Instanzmethoden und zwischen Variablen demonstrieren.
Schlagwörter: Java Operatoren, Java Programmierung
Kennst du das auch aus deiner Schulzeit? Du schreibst eine Klassenarbeit in irgendeinem Fach. Nehmen wir einfach mal an – Mathe. Jetzt bist gerade fertig mit deiner Arbeit. Und zu Hause wirst du gefragt: „Und wie lief es?“ Du antwortet:“ Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“ […]
Schlagwörter: Java Übungen, Java Variablen
In dieser Java Übung soll der Unterschied zwischen Instanz- und Klassenvariablen demonstriert werden. Außerdem werde ich dir den Zugriff über Methoden zeigen.
Schlagwörter: Java Operatoren, Java Programmierung
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 […]
Schlagwörter: Java Strings, Java Übungen
In dieser Java Übung möchte ich, dass du ein Programm erstellst, welches ein eingegebenes Passwort kontrolliert.
Schlagwörter: Java Operatoren, Java Programmierung
In Java stehen dir eine Menge Operatoren zur Verfügung. Einer dieser Operatoren ist der Und-Operator. Dies ist ein logischer Operator, da dieser sogenannte Wahrheitswerte mit einander verknüpft. Also…. Was erwartet dich in diesem Beitrag? Zuerst möchte ich dir die Aussagenlogik hinter dem Und-Operator zeigen. Also wann sind Aussagen wahr und […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es darum, dass du mittels Schleifen, Zahlen umkehrst. Was meine ich damit? Die Zahl 71 umgekehrt, ergibt die Zahl 17. Und genau so ein kleines Java Programm sollst du jetzt schreiben.