(Kleine Geschichte) Numerischer Wert → einfache Konvertierungsmethode des Alphabets (Java)

TL;DR Sie können es einfach in ein Alphabet konvertieren, indem Sie die Zahl in char umwandeln.

Trainieren

Spezifischer Code 1

Main.java


public class Main {
    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 26; i++) {
            System.out.print((char) (97 + i) + " ");
        }
    }
}

Spezifischer Code 2

Main.java


public class Main {
    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 26; i++) {
            //Sie können auch so schreiben**
            System.out.print((char) ('a' + i) + " ");
        }
    }
}

Ausgabeergebnis

a b c d e f g h i j k l m n o p q r s t u v w x y z

Anwendung

Zitiert aus ABC171C

Roger beschloss, alle 100000000000000001 Hunde zu behalten, die ihm plötzlich erschienen. Die Hunde waren ursprünglich von 1 bis 1000000000000001 nummeriert, aber Roger gab ihnen Namen nach den folgenden Regeln: Hunde mit den Nummern 1,2, ⋯, 26 werden in dieser Reihenfolge mit a, b, ..., z bezeichnet. Hunde mit den Nummern 27,28,29, ⋯, 701, 702 heißen in dieser Reihenfolge aa, ab, ac, ..., zy, zz. Hunde mit den Nummern 703.704.705, ⋯, 18277.18278 heißen in dieser Reihenfolge aaa, aab, aac, ..., zzy, zzz. Hunde mit den Nummern 18279,18280,18281, ⋯, 475253,475254 heißen in dieser Reihenfolge aaaa, aaab, aaac, ..., zzzy, zzzz. Die Hunde mit der Nummer 475255,475256, ⋯ heißen in dieser Reihenfolge aaaaa, aaaab, .... (Unten weggelassen)

Main.java


import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);

        long n = sc.nextLong(); //Beispiel: 18277
        StringBuilder ans = new StringBuilder();

        //Durch Konvertieren des durch 26 geteilten Restes in ein Alphabet wird die Zeichenfolge von hinten festgelegt
        while (n != 0) {
            // //Warum n hier--Ich verstehe nicht ganz, was ich tun muss, daher würde ich es begrüßen, wenn mir jemand dies freundlicherweise mitteilen könnte. ..
            // 2020/06/22 Nachtrag
            // n % 26 =Bei 1 a,... n % 26 =Ich möchte, dass es bei 25 in z konvertiert wird.
            //Bei dieser Rate n% 26 =Da es b wird, wenn es 1 ist, n--Machen.
            n--;
            // loop1 18276
            // loop2 701
            // loop3 25

            //Konvertieren Sie Zahlen in Alphabete, indem Sie sie in Zeichen umwandeln
            ans.append((char) ('a' + n % 26));
            // loop1 18276 % 26 = 24 => y 
            // loop2 701 % 26 = 25 => z 
            // loop3 25 % 26 = 25 => z 

            n /= 26;
            // loop1 702 
            // loop2 26
            // loop3 0 ->Ende
        }

     //Da die Zeichenketten in umgekehrter Reihenfolge erstellt wurden, kehren Sie sie um();
        ans = ans.reverse();

        System.out.println(ans); // zzy
        sc.close();
    }
}


Nachwort

Ich war enttäuscht, dass ich das C-Problem nicht lösen konnte. Ich werde das nächste Mal mein Bestes geben.

Recommended Posts

(Kleine Geschichte) Numerischer Wert → einfache Konvertierungsmethode des Alphabets (Java)
Vorteile der statischen Java-Methode
[Java-Anfänger] Konvertierung von Zeichenfolge in numerischen Wert - Was ist die parseInt-Methode der Integer-Klasse? ~
Konvertierung von numerischen Werten (int) ⇔ Zeichenfolgen (String)
[Java Edition] Geschichte der Serialisierung
Die Geschichte von Java Gold SE8
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
Geschichte von paiza.jp [Java Standard Input Solution]
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
Die Geschichte des Schreibens von Java in Emacs