Position einer Ziffer in einer Zahlenkette

r0bc94

Mitglied
Hallo,

zur Zeit sitze ich an folgender Aaufgabe und weiss nicht mehr weiter:
Schreiben Sie eine Methode gibPosition(int zahl, int ziffer) welche die Position einer Ziffer in einer Zahl liefert. Zählweise beginnt hinten mit 1. Kommt die Ziffer nicht vor so soll eine 0 ausgegeben werden.
Bsp.: Zahl: 1337, Ziffer: 1 --> 4; Zahl: 1337, Ziffer 2 --> 0.

Das einzige worauf ich komme ist das hier:
Java:
public static int gibPosition(int zahl, int ziffer) {
        return (zahl % 10 == ziffer)
                ? (1)
                : (zahl / 10 > 0)
                    ? (1 + gibPosition(zahl / 10, ziffer))
                    : (0);
    }

Leider scheitert dies an der 0, da ich ja immer mit 1+ eine 1 addiere. Irgendwie komme ich hier nicht so recht weiter. Gibt es villeicht eine möglichkeit java zu zwingen, im unterstem Baum eine 0 auszugeben ?
 

Gucky

Top Contributor
Diese Schreibweise einer Methode ist schon sehr optimiert und schwer zu warten. Du solltest, gerade in der Anfangszeit nicht solchen Code schreiben ( ?: ist sowieso zu vermeiden ;) ), sondern lieber Längeren, dafür Einfacheren.

Eine sehr einfache Möglichkeit ist das Ganze in einen String umzuwandeln und mit String#lastIndexOf(String) nachzuprüfen, wo die Ziffer ist und diesen Wert zurückzugeben.
 

r0bc94

Mitglied
Diese Schreibweise einer Methode ist schon sehr optimiert und schwer zu warten. Du solltest, gerade in der Anfangszeit nicht solchen Code schreiben ( ?: ist sowieso zu vermeiden ;) ), sondern lieber Längeren, dafür Einfacheren.

Eine sehr einfache Möglichkeit ist das Ganze in einen String umzuwandeln und mit String#lastIndexOf(String) nachzuprüfen, wo die Ziffer ist und diesen Wert zurückzugeben.

Hi, vielen dank für die Antwort :)

Ich hatte vergessen zu erwähnen, dass wir zur lösung ausschließlich Rekursion und Bedingte Ausdrücke werwenden dürfen.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Ok. Das macht das Ganze schon wieder schwieriger. Dann solltest du trotzdem if-Bedingungen verwenden. Die sind einfacher zu lesen.
 
Zuletzt bearbeitet:

r0bc94

Mitglied
Leider dürfen wir dies auch nicht :/.

Ich habe aber eine mehr oder weniger Komplexere Lösung gefunden:

Zunächst schaut man (einfach), ob die Zahl von welcher die Position bestimmt werden soll überhaupt in der Zahl vorkommt. Dies kann man folgendermaßen tun:
Java:
public static boolean enthaelt(long zahl, int ziffer) {
        return (ziffer == zahl % 10) 
               ? (true) 
               : ((zahl / 10 == 0)
                    ? (false)
                    : ((enthaelt(zahl / 10, ziffer)) 
                        ? (true)
                        : (false)));
    }
Nun kann man mit hilfe dieser Methode eine Zahl, welche die Ziffer nicht enthält "abfangen":
Java:
public static int gibPosition(int zahl, int ziffer) {
        return (enthaelt(zahl, ziffer))
                ? (zahl / 10 > 0)
                     ? (1 + gibPosition(zahl / 10, ziffer))
                     : (1)
                : (0);
                
                
    }
Nur frage ich mich immernoch, ob es da nicht einen einfacheren Weg nur über eine Methode gibt.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Den gibt es:
Java:
private int ziffernTest(int zahl, int ziffer) {
	return (zahl == 0) ? 0 :
		(zahl%10 == ziffer) ? 1:
			ziffernTest(zahl / 10, ziffer) == 0 ? 0 :
				ziffernTest(zahl / 10, ziffer) + 1;
}

Ich lasse den zu Übungszwecken erstmal so stehen. Wenn du noch fragen hast, kann ich ihn aber gerne erklären.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Position einer Ziffer im String bestimmen Java Basics - Anfänger-Themen 4
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
B aktuelle Position einer JTextArea ermitteln Java Basics - Anfänger-Themen 6
T aktuelle Position in einer Datei Java Basics - Anfänger-Themen 4
L px und x-position Java Basics - Anfänger-Themen 4
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
J Itext-Paragraph Position ändern Java Basics - Anfänger-Themen 13
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
I Eigenschaften von Position aus anderer Klasse übernehmen Java Basics - Anfänger-Themen 17
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
H Position verschieben der Elemtente im Array Java Basics - Anfänger-Themen 3
S Position eines Frames Java Basics - Anfänger-Themen 3
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
T Arrayposition um eine Position verschieben Java Basics - Anfänger-Themen 2
V Klassen Bestimmen Sie die erste und letzte Position an der ein 'c' steht? Java Basics - Anfänger-Themen 3
V Datentypen Position mit Int und Float berechen und ausgeben Java Basics - Anfänger-Themen 5
Z Wie Position eines Objekts in Liste herausfinden? Java Basics - Anfänger-Themen 15
C Position eines Zeichens in einem String ausgeben Java Basics - Anfänger-Themen 1
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
C [Greasmonkey] Maus Coursor position setzen Java Basics - Anfänger-Themen 1
I Int Array, Zahl an bestimmte position setzten Java Basics - Anfänger-Themen 2
S Bild auf eine Position rotieren?! Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
H Cursor-Position bei Rechtsclick? Java Basics - Anfänger-Themen 2
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
S Maus Position Java Basics - Anfänger-Themen 6
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
S JSplitPane Divider Maximum Position Java Basics - Anfänger-Themen 5
W Position in ArrayList ermitteln Java Basics - Anfänger-Themen 4
M kurze frage: Ohne index.of position von string angeben Java Basics - Anfänger-Themen 16
M Input/Output position in temporären dateien kann nicht gesetzt werden Java Basics - Anfänger-Themen 3
E Y-Position der Maus nehmen Java Basics - Anfänger-Themen 5
R mit DefaultStyledDocument die Caret-Position ändern? Java Basics - Anfänger-Themen 5
V Position in einem Vektor Java Basics - Anfänger-Themen 3
M LinkedList aktuelle position Java Basics - Anfänger-Themen 3
E Position erkennen und überlappungen feststellen Java Basics - Anfänger-Themen 4
M Fixe Position von GUI Komponenten ? Java Basics - Anfänger-Themen 9
B JMenu Position bestimmen Java Basics - Anfänger-Themen 7
H B-Baum: Knoten Position als Parameter oder als Variable im Objekt? Java Basics - Anfänger-Themen 4
TheKing Spieler Position mit Array vergleichen Java Basics - Anfänger-Themen 2
T Image Position erkennen Java Basics - Anfänger-Themen 6
L die Position von Suchtreffern von Lucene finden Java Basics - Anfänger-Themen 2
S Datentypen In ArrayList nach Element suchen und Position ausgeben Java Basics - Anfänger-Themen 9
K Kreis mit neuer Position zeichnen Java Basics - Anfänger-Themen 3
S OOP Wie bei Spiel "17+4" eine Karte an bestimmte Position hinzufügen Java Basics - Anfänger-Themen 13
M Zufällige Position Java Basics - Anfänger-Themen 3
A Elemente 2er int[] auf Gleichheit und Position überprüfen Java Basics - Anfänger-Themen 7
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Programm-Fesnter Position Java Basics - Anfänger-Themen 4
O Maus / Pixel Position bei mir und bei anderen. Java Basics - Anfänger-Themen 8
F Position JTextField Java Basics - Anfänger-Themen 4
C Position eines Fensters bestimmen Java Basics - Anfänger-Themen 3
H problem mit button position Java Basics - Anfänger-Themen 4
G Bestimmte Position im array auslesen Java Basics - Anfänger-Themen 8
M Array, Int-wert Ziffer je Position zuweisen Java Basics - Anfänger-Themen 3
B String vom Server nach Position... (erledigt) Java Basics - Anfänger-Themen 6
H Exception: illegal component position Java Basics - Anfänger-Themen 5
G Position eines Objekts auf Webseite herausfinden Java Basics - Anfänger-Themen 9
hdi Grösse & Position von JScrollBar Java Basics - Anfänger-Themen 28
G TrayIcon: Wie aktuelle Position des Icons erhalten? Java Basics - Anfänger-Themen 2
D Fensterrahmen und Position ändern. Java Basics - Anfänger-Themen 5
M Maus position abfragen und setzen? Java Basics - Anfänger-Themen 1
G Position Java Basics - Anfänger-Themen 7
R Position in ArrayList ermitteln Java Basics - Anfänger-Themen 5
R Element an Position in ArrayList checken Java Basics - Anfänger-Themen 4
D Dateizugriff - An bestimmter Position Lesen (Random Access) Java Basics - Anfänger-Themen 2
H Finde Position Java Basics - Anfänger-Themen 4
J mouseover Text => Bildanzeige an bestimmter Position.Wie Java Basics - Anfänger-Themen 2
T Zeichen eines Strings an festgelegter Position einfügen Java Basics - Anfänger-Themen 8
J Jedes Element in 2 Arrays mit gleicher Position addieren Java Basics - Anfänger-Themen 12
C Absolute Cursor Position oder doch relative? Java Basics - Anfänger-Themen 4
L Gezielte Infos aus Datei holen - Suche nach Position/Wort Java Basics - Anfänger-Themen 22
M Servlet position bestimmen Java Basics - Anfänger-Themen 3
B String in ein RandomAccessFile einfügen (bestimmte Position) Java Basics - Anfänger-Themen 4
bernd An der Position des Cursors String einfügen Java Basics - Anfänger-Themen 11
C Position im Objekt-Stream Java Basics - Anfänger-Themen 2
G x-,y-position java-applet Java Basics - Anfänger-Themen 2
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben