ziffer in zahl erkennen mit boolean

moccajoghurt

Bekanntes Mitglied
Verfolge immernoch den Java-Kurs und bin nun bei einer Aufgabe, bei der mir kein effizienter Lösungsweg einfällt... Aufgabe:

(5) eine Funktion, die als Parameter einen int-Wert übergeben bekommt und die überprüft, ob die Ziffer 7 in dem int-Wert vorkommt (Beispiel: f(-2578) == true)

Wie kann ich das am sinnvollsten umsetzen. Wichtig dabei ist: in der Funktion dürfen nur die Anweisungen for, do, while, if, break, continue verwendet werden - andere Befehle sind nicht vorgesehen.

Mir fallen nur sehr lange umständliche Lösungswege ein, was bei der Aufgabe vermutlich nicht sein muss.
 
G

Gast2

Gast
Was für Lösungswege fallen dir denn ein?
Mir fällt spontan ein Lösungsweg mit einer Schleife und ein paar String funktionen ein.
 

faetzminator

Gesperrter Benutzer
Java:
public static boolean f(int value) {
    if (value < 0) {
        value *= -1;
    }
    while (value > 0) {
        if (value % 10 == 7) {
            return true;
        }
        value /= 10;
    }
    return false;
}
Ich würde es so machen.
Warum zuerst in eine positive Zahl kehren, falls sie negativ ist? Modulo ([c]%[/c]) funktioniert nicht bei negativen Zahlen.
 

moccajoghurt

Bekanntes Mitglied
bei mir sähe die Funktion ungefähr so aus, nur sehr viel länger, weil ich hier nur die letzten 2 ziffern überprüfe... das kommt mir sehr umständlich vor.
Java:
	static boolean sieben(int zahl) {
		int zaehler = 0;
		int zaehler2 = 0;
		for (int x = zahl; x % 10 !=0; x--) {
			zaehler++;
		}
		for (int x = zahl - zaehler; x % 100 != 0; x--) {
			zaehler2++;
		}
		if (zaehler == 7) {
			return true;
		}
		if (zaehler2 == 7) {
			return true;
		} else return false;
	}
 

moccajoghurt

Bekanntes Mitglied
Java:
public static boolean f(int value) {
    if (value < 0) {
        value *= -1;
    }
    while (value > 0) {
        if (value % 10 == 7) {
            return true;
        }
        value /= 10;
    }
    return false;
}
Ich würde es so machen.
Warum zuerst in eine positive Zahl kehren, falls sie negativ ist? Modulo ([c]%[/c]) funktioniert nicht bei negativen Zahlen.
Mist, warum komm ich nicht selbst auf solche Ideen :(

Danke :)
 

faetzminator

Gesperrter Benutzer
Solange du sie dir nicht nur abguckst, sondern auch verstehst, ist das kein Problem - dann weisst du jetzt etwas mehr ;)
Die Schleifen bei dir sind mir schon etwas suspekt :D Da würde allerdings mit negativen Zahlen das gleiche passieren, also [c]-25678[/c] oder was auch immer würde [c]false[/c] liefern.
 

Blakh

Bekanntes Mitglied
Java:
public static boolean f(int value) {
    if (value < 0) {
        value *= -1;
    }
    while (value > 0) {
        if (value % 10 == 7) {
            return true;
        }
        value /= 10;
    }
    return false;
}
Ich würde es so machen.
Warum zuerst in eine positive Zahl kehren, falls sie negativ ist? Modulo ([c]%[/c]) funktioniert nicht bei negativen Zahlen.

Muss das nicht while (value > 1) sein? weil 0 wird das doch nicht, wenn du immer durch 10 teilst ???:L
 

faetzminator

Gesperrter Benutzer
Es wird immer eine Stelle weggenommen...
Code:
-2578 -> 2578

2578 % 10 -> 8
2578 / 10 -> 257

257 % 10 -> 7
TRUE
bzw.
Code:
-2568 -> 2568

2568 % 10 -> 8
2568 / 10 -> 256

256 % 10 -> 6
256 / 10 -> 25

25 % 10 -> 5
25 / 10 -> 2

2 % 10 -> 2
2 / 10 -> 0

0 == 0
FALSE
ich weiss nicht, warum das nicht [c]0[/c] geben sollte. Praktisch gesehen kann man natürlich auch [c]>= 7[/c] schreiben, macht aber im Kontext weniger Sinn...

@Marco13: Danke für die rekursive Lösung :D
 

slawaweis

Bekanntes Mitglied
Java:
 public boolean f(int zahl, int ziffer)
  {
  return (""+zahl).indexOf(""+ziffer) != -1;
  }

Slawa
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Überprüfen, ober eine Zahl Ziffer enthält Java Basics - Anfänger-Themen 12
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
C Erste Ziffer einer Zahl Java Basics - Anfänger-Themen 46
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
I kleinste Ziffer einer Zahl ausgeben Java Basics - Anfänger-Themen 3
H Anzahl Ziffer in Zahl bestimmen Java Basics - Anfänger-Themen 3
D Ziffer in Zahl Rekursiv Java Basics - Anfänger-Themen 4
V Erste Ziffer aus einer dreistelligen "Zahl" heraus Java Basics - Anfänger-Themen 5
D Unterschied zwischen Ziffer und Zahl Java Basics - Anfänger-Themen 9
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
L Zufälligen Zahlencode, ohne mehrfacher Verwendung einer Ziffer Java Basics - Anfänger-Themen 15
P Ziffer in der Mitte ausgeben Java Basics - Anfänger-Themen 12
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
T Schauen ob eine Ziffer in einem String-Array häufiger vorkommt Java Basics - Anfänger-Themen 8
R Position einer Ziffer in einer Zahlenkette Java Basics - Anfänger-Themen 5
A Kleinste Ziffer im Array suchen um Sortierung zu erzeugen Java Basics - Anfänger-Themen 2
M Ziffer einträge vergrößern Java Basics - Anfänger-Themen 16
Z Methoden Methode, die Ziffer aus Hexadezimal in Zehnerdezimal umrechnet Java Basics - Anfänger-Themen 5
B Bestimmte Ziffer Java Basics - Anfänger-Themen 27
T Methoden Maximale Ziffer von int-Wert Java Basics - Anfänger-Themen 8
P Kann Ziffer die am Ende einer Zeile steht (.txt) nicht in int übersetzen Java Basics - Anfänger-Themen 11
J Variablen Ziffer für Ziffer einzeln speichern Java Basics - Anfänger-Themen 5
S Ziffer einer Int größer als x? Java Basics - Anfänger-Themen 7
U Erste Ziffer abspalten Java Basics - Anfänger-Themen 3
M Array, Int-wert Ziffer je Position zuweisen Java Basics - Anfänger-Themen 3
G charAT(i) eine Ziffer ? Java Basics - Anfänger-Themen 2
T Einzelne Ziffer zusammenfügen (ohne Strings oder Arrays) Java Basics - Anfänger-Themen 2
G Feststellen, ob erstes Zeichen eines Strings eine Ziffer ist Java Basics - Anfänger-Themen 11
B Position einer Ziffer im String bestimmen Java Basics - Anfänger-Themen 4
E Ziffer in char-Array Java Basics - Anfänger-Themen 2
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
M zahl raten Java Basics - Anfänger-Themen 1
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
R Fortlaufende Zahl Java Basics - Anfänger-Themen 3
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
HelpInneed Zahl. Java Basics - Anfänger-Themen 2
R Perfekte Zahl Java Basics - Anfänger-Themen 8
D Mittlerste Zahl Java Basics - Anfänger-Themen 17
D Grösste Zahl in einer Folge herausfinden. (ULAM) Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
J Verdoppeln einer Zahl (in dem Fall Münzen) Java Basics - Anfänger-Themen 4
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
T Zahl in Array ersetzen Java Basics - Anfänger-Themen 2
Abraham42 Prozentsatz einer Zahl mehrmals Java Basics - Anfänger-Themen 2
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
S Zahl eingeben Java Basics - Anfänger-Themen 8
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V Array auf eine Zahl durchsuchen Java Basics - Anfänger-Themen 15
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
L Erhöhung der Zahl Java Basics - Anfänger-Themen 3
F Negative Zahl erzwingen Java Basics - Anfänger-Themen 3
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
T Eulersche Zahl e Java Basics - Anfänger-Themen 5
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
B Eine ganze Zahl zerlegen. Java Basics - Anfänger-Themen 4
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
I Wie viele 1 an Bits hat die Zahl x? Java Basics - Anfänger-Themen 5
A Gewürfelte Zahl ausgeben Java Basics - Anfänger-Themen 10
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben