prüfen Sie eine Ganzzahl, um zu sehen, ob es enthält eine null
Gegeben eine ganze Zahl, wie könnte man überprüfen, wenn es mit einer 0, die mit Java?
1 = Gut 2 = Gut ... 9 = Gut 10 = SCHLECHT! 101 = SCHLECHT! 1026 = SCHLECHT! 1111 = Gut
Wie kann das getan werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meinst du, wenn die dezimale Darstellung 0 enthält? Die absolute einfachste Weg, das zu tun ist:
Vergessen Sie nicht, dass eine Zahl nicht "inhärent" enthalten eine 0 ist oder nicht (außer der null selbst, natürlich) - es kommt auf die base. Also "10" im Dezimalsystem ist Ein "a" in hex, und "10" in hex "16" im Dezimalsystem... in beiden Fällen ist das Ergebnis ändern würde.
Gibt es vielleicht noch effizientere Möglichkeiten des testens für die Anwesenheit einer null in der dezimal-Darstellung einer ganzen Zahl, aber Sie dürfte um einiges mehr involviert, als die obigen Ausdruck.
Wenn aus irgendeinem Grund Sie nicht wie die Lösung, die einen String konvertiert, die Sie ausprobieren können:
Dies ist auch davon
num
ist die Basis 10.Edit: Hinzugefügt Bedingungen zum Umgang mit negativen zahlen und 0 selbst.
Können Sie es in einen string konvertieren und prüfen Sie, ob es enthält die Zeichen "0".
"" + x
Möglichkeit der Umwandlung eines Wertes in einen string. Ist es nicht Ausdruck der Absicht ist eindeutig auf alle - du bist nicht wirklich daran interessiert, Verkettung, nachdem alle... du bist nach einer Konvertierung. Nur MHO natürlich.String.valueOf()
mehr schwer zu merken?Integer.toString(yourIntValue).contains("0");
Hier ist eine routine, die die Arbeit erkennen Nullen in zahlen. Es funktioniert mit jeder Darstellung (dezimal, hex, oktal, Binär) zu bekommen, muss man in der Basis als parameter.
Ich weiß nicht, ob das einfacher ist, aber hier ist ein anderer Weg.
Teilen Sie die Zahl in ein array von ints. Dann Sortieren Sie und überprüfen Sie, ob das erste element null ist.
E. g
n
zuna
?Nicht mit Java, aber es ist nicht gerade schwer zu konvertieren von C++
PS. Schande über jeden, der string-Konvertierung.