Ziffern aus einer Zahl in Java entfernen [geschlossen]

7

Wie entferne ich die erste Ziffer einer ganzen Zahl?

Meine Eingabe ist eine Ganzzahl (zum Beispiel i = 123456789).

Ich möchte dann die erste Ziffer entfernen, damit i gleich 23456789 ist.

    
user3159331 04.01.2014, 03:02
quelle

7 Antworten

10

probiere das

aus %Vor%     
Evgeniy Dorofeev 04.01.2014 03:24
quelle
10

Hier ist ein Weg, es zu tun:

  • Konvertiere es in String
  • Nimm den Teilstring ohne die erste "Ziffer"
  • Konvertiere es in int

Code:

%Vor%

Ausgabe:

%Vor%

Hinweis: Dies kann in einer Zeile mit

erfolgen %Vor%

Bearbeiten:

Um mit einem negativen Fall umzugehen, überprüfen Sie, ob die Zahl positiv oder ganzzahlig ist:

%Vor%     
Christian 04.01.2014 03:05
quelle
2

Wenn Sie die String-Konvertierung vermeiden möchten, können Sie die hohe Ziffer finden und subtrahieren.

%Vor%     
Gene 04.01.2014 03:09
quelle
1

Hier ist die einzeilige, rein numerische Lösung:

%Vor%     
Bohemian 04.01.2014 03:28
quelle
1

Alternativer Ansatz:

%Vor%     
Darren Gilroy 04.01.2014 03:33
quelle
0

Ich denke, ich erinnere mich an die String-freie Version ... obwohl ich total mit @Christian einverstanden bin, wie ich es machen würde ...

HINWEIS: Wie @Darren Gilroy darauf hinwies, muss man Negative und Nullszenen berücksichtigen, und meine Funktion tut dies nicht.

Natürlich ist % auch eine bessere Lösung.

%Vor%

Schlechter Profilierungsversuch:

Wiederholen der obigen Funktion ohne println für 20.000.000.000 Wiederholungen in einer for Schleife:

%Vor%

Das gleiche gilt für Christians viel leichter zu verstehende und perfekt funktionierende Version, aber für nur 200.000.000 Wiederholungen (weil ich faul bin und es satt habe zu warten):

%Vor%

Man könnte also argumentieren, dass das Konstruieren der String-Objekte es wahrscheinlich um etwa das 200-fache verlangsamt, aber das ist keine wirklich fein abgestimmte Profilerstellung.

    
BRFennPocock 04.01.2014 03:35
quelle
0

Wenn Sie nach einfacheren Methoden und ohne die Verwendung von String suchen, dann ist hier mein einfaches Beispiel:

  1. Zählt die Anzahl der Ziffern in der Ganzzahl.
  2. Teilen Sie int by 10^n . n ist die Anzahl der Ziffern.
  3. Besorgen Sie sich den absoluten Wert des Ergebnisses. // Im Fall von (-) Ziffern.

Zum Beispiel

%Vor%

Und Sie würden diese Methode benötigen:

%Vor%     
Astrobleme 04.01.2014 05:38
quelle

Tags und Links