Skip to main content

Java Übung 19 – Zähle die Kommastellen

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.

Die Methode bekommt beim Aufruf eine Kommazahl übergeben und soll dann die Anzahl der Nachkommastellen zurückgeben.
Die Methode wird in der main-Methode aufgerufen.
Zur Überprüfung übergib ihr die Zahl 22,55543.

Also dann viel Spaß und Erfolg bei der Lösung dieser Java Übung.


Für die Lösung dieser Java Übung solltest du dich fragen:

Wie würdest du es machen?
Also wenn du diese Aufgabe gestellt bekommst:
Zähle die Kommastellen der Zahl 22,55543.

Dann würdest du beim Komma anfangen zu zählen.
Und du würdest das Komma gedanklich nach rechts verschieben.
Und zwar bis zum Ende der Zahl.

Und genau so, solltest du hier auch vorgehen.
Das Komma einer Zahl schiebst du nach rechts, indem du die Zahl mit 10 multiplizierst.

  • 22,55543 * 10 = 225,5543
  • 225,5543 * 10 = 2.255,543
  • 2.255,543 * 10 = 22.555,43
  • 22.555,43 * 10 = 225.554,3
  • 225.554,3 * 10 = 2.255.543

Das würde bedeuten:

  • Du schreibst eine Methode, welche die übergebene Zahl solange mit 10 multipliziert, bis kein Komma mehr da ist.
  • Gleichzeitig zählt die Methode dann, wie oft die Zahl mit 10 multipliziert werden musste.
  • Und dies ist dann die Anzahl der Nachkommastellen.

Klingt gut?
Denke ich auch – Also machen wir das so.

Und eine bestimmte Anweisung immer und immer wieder ausführen – Macht man am besten mit einer Schleife.
Da die Ausführung an eine Bedingung geknüpft ist, bietet sich die while-Schleife an.

Also kannst du doch im Schleifenkopf folgende Anweisung festlegen.
„Multipliziere solange mit 10 bis die Zahl kein Komma mehr hat.“

Und die Abruchbedingung könnte so lauten:
while (zahl-(int) zahl != 0)
Die übergebene Zahl minus der übergebenen Zahl als Integer ungleich Null.

Das würde für unseren Schleifendurchlauf am Beispiel bedeuten:

  1. Durchlauf: 22,55543 – 22 = 0,55543
  2. Durchlauf: 225,5543 -225 = 0,5543
  3. Durchlauf: 2.255,543-2255=0,543
  4. Durchlauf: 22.555,43-22555=0,43
  5. Durchlauf: 225.554,3-225.554=0,3
  6. Durchlauf: 2.255.543-2.255.543=0

Nach fünf Durchläufen würde die Schleife abrechen.
Das bedeutet es wurde 5-mal mit 10 multipliziert.
Es musste 5-mal das Komma nach rechts verschoben werden.
Die Zahl hat 5 Kommastellen.

So würde der komplette Code zu dieser Java Übung aussehen:


public class KommaZahl {
 
static int zaehleKommaStellen(double zahl) {
int kommaStelle = 0;
while (zahl - (int) zahl != 0) {
zahl = zahl * 10; // Komma wird jeweils 1-mal nach rechts verschoben
kommaStelle++;// Schleifendurchlauf wird gezählt
}
 
return kommaStelle;
}
 
public static void main(String[] args) {
System.out.println(zaehleKommaStellen(22.55543));
}
}

Die Abbruchbedingung der Schleife könntest du auch mit dem Modulo-Operator definieren.
Diese würde dann lauten:
while (zahl % 1 !=0)

Die Schleife würde solange durchlaufen werden, bis die Division durch 1 keinen Restwert mehr hat.
Der Code bei diese Umsetzung würde dann so aussehen:


public class KommaZahl {
 
static int zaehleKommaStellen(double zahl) {
int kommaStelle = 0;
while (zahl %1 != 0) {
zahl = zahl * 10;
kommaStelle++;
}
return kommaStelle;
}
 
public static void main(String[] args) {
System.out.println(zaehleKommaStellen(22.55543));
}
}

Du siehst, oftmals kannst du Probleme auf verschiedene Arten lösen.

Ich hoffe diese Übung hat dir gefallen.
In einer der nächsten Java Übungen vertiefen wir das Ganze noch etwas.


Ähnliche Beiträge

So kannst du ein neues Java Projekt mit Eclipse anlegen und konfigurieren

Java Projekt anlegen Eclipse

In diesem Beitrag möchte ich dir zeigen, wie du ein neues Java Projekt mit Eclipse anlegen kannst. Ich werde dir außerdem einen kurzen Überblick über die Konfigurationsmöglichkeiten geben. Dann gebe ich dir noch eine ganz einfache Schritt-für-Schritt-Anleitung für dein allererstes Java Projekt und ich zeige dir, was nach dem Anlegen des Projektes eigentlich passiert ist.

Java Übung 17: Char-Zeichen mit For-Schleife

Java Übung Char Zeichen For Schleife

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 im Methodenrumpf durchläuft eine For-Schleife […]

Ende vom Java Blog?

Falls du hier schon länger dabei bist, wird dir aufgefallen sein – dass kaum noch Beiträge veröffentlicht werden. Das tut mir wirklich leid und dafür möchte ich mich auch entschuldigen. Ich weiß, dass Einige unter Euch den Java-Blog wirklich lieben. Aber es ist verdammt schwierig so ein aufwendiges Thema – stilvoll, unterhaltend und methodisch umzusetzen. […]

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

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 die wenigsten Fehler hatte – […]

Java Vererbung findet auch zwischen Einkaufstüten und Polizeiautos statt

Java Vererbung

„Manchmal findet Java Vererbung auch zwischen Einkaufstüten und Polizeiautos statt“ Irrer Titel, oder? Aber mal Hand aufs Herz. Was haben eigentlich eine Einkaufstüte und ein Polizeiwagen gemeinsam? Ich verrate dir etwas: Du kannst die Verbindung nicht erkennen, denn ich habe dir nicht alles verraten. Es fehlt noch ein wichtiger Aspekt – eine Verbindung zwischen beiden. […]

Du musst in Java nicht jede Exception fangen

Java Exception fangen

Kennst du die Metapher mit dem Jongleur und den Bällen? Ein Jongleur hält drei Bälle in der Luft, dann vier und irgendwann fünf. Aber irgendwann ist es genau ein Ball zu viel. Und Alles bricht zusammen. Ja ein Ball zu viel, kann alles versauen. 🙂 Und so ist es doch immer im Leben. Du kannst […]

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem spielt die Zahl 10, als […]