![]() |
Zahlen Unterscheiden
Kann mir jemand helfen bei der folgenden Aufgabe : Schreiben Sie ein Programm (GUI), welches entscheidet, ob eine eingegebene Zahl komplett aus unterschiedlichen Ziffern besteht.
Beispiel: 123 - Ja 1987 - Ja 2012 - Nein 234897 - Ja Ich benutze Java. Ich bräuchte nur den Quellcode für den jbutton. |
Was hast du denn schon versucht? Wenn du da nischt eigenes machst wird dir wohl kaum einer die Lösung geben.
|
also ich kann zwar kein java sondern c++ aber ich würde die zahl in einen string oder ein char array umwandeln und dann die elemente durch iterieren und speichern, ob die jeweilige ziffer schon vorkam (10 bool variablen). sobald eine vorkommende ziffer schon auf true steht, kannst du false zurückgeben, wenn die schleife komplett durchläuft, gibst du true zurück. zusätzlich kannst du immer false zurückgeben, wenn eine zahl mehr als 10 stellen hat.
|
int count = StringUtils.countMatches("1234", "1");
Jetzt musst Dich nur noch a' bisserl anstrengen ;) |
@KanuKkidz
Man muss sich ersteinmal ein Algorithmisches Grundverständnis aneignen, jemanden wegen soetwas zu raten das Studienfach zu wechseln hat weder Hand noch Fuß. Außerdem werden seinen Kommilitonen von ihm nicht augehalten, egal wie schlecht er ist. |
Also ich würde alles in ein Array packen und dann einfach in einer Doppelschleife jedes Element mit mit jedem anderen vergleichen. Das ergibt dann n-1 Durchläufe, wobei jeder Durchlauf n-1 - [Nr. des aktuellen Durchlaufs] Vergleiche benötigt. Das wäre also in Summe n(n-1)/2 ... bei den Ziffern von 0 bis 9 also 45 Durchläufe ...
Pseudocode: |
@slahn
Das wär die brutal schlechteste Lösung. 45 Durchläufe, wenn man maximal 9 Stellen vergleichen muss? Richtig: Durchlauf alle Ziffern, zähle die jeweilige Ziffer auf. Abbruchbedingung: eine Aufzählung ist größer als 1. Max. Durchlauf = 9 |
Zitat:
Und noch was ich bin noch ein stück entfernt vom Studium, bin noch in der Oberschule. |
Ich habe mal schnell eine Funktion geschrieben bevor es hier wieder ausartet:
Code:
static boolean allDigitsOfNumberAreUnique(int number) { Code:
int number = 12345; Poste bitte nächstes mal deinen Versuch mit der Fragestellung, dann wird dir auch eher geholfen. Von Copy&Paste hat hier niemand etwas. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.