Heim  >  Artikel  >  Java  >  Ein Java-Programm gibt Zahlen ein und zeigt sie in Textform an

Ein Java-Programm gibt Zahlen ein und zeigt sie in Textform an

王林
王林nach vorne
2023-09-06 20:57:07792Durchsuche

Ein Java-Programm gibt Zahlen ein und zeigt sie in Textform an

Zahlen werden grundsätzlich im numerischen Format oder als ganzzahlige Werte dargestellt. Aber für die Aussprache verwenden wir Wörter. Jede Zahl hat ein einzigartiges Wortformat.

Zum Beispiel ist das Wortformat für 1 „Eins“. So wie das Wortformat für 2 „zwei“ ist, ist das Wortformat für 3 „drei“ ... und so weiter. Bei zwei Ziffern unterscheidet sich das Zahlenformat geringfügig. 21 steht für „einundzwanzig“, 45 für „fünfundvierzig“ … und so weiter. Daher steht für alle Arten von Zahlen ein eindeutiges Wortformat zur Verfügung.

Zeigen Sie einige Beispiele

Beispiel 1

Input number is 15.
Word format of 15 = Fifteen

Beispiel 2

Input number is 123.
Word format of 123 = One Hundred Twenty-Three

Beispiel 3

Input number is 4532.
Word format of 4532 = Four Thousand Five Hundred Thirty-Two.

Algorithmus

Schritt 1 – Erhalten Sie die eingegebene Nummer über die statische Eingabemethode.

Schritt-2 – Deklarieren Sie ein Array vom Typ String und speichern Sie die Zahlen im String.

Schritt-3 - Dann deklarieren wir einige andere Arrays vom Typ String, in denen wir Wortformate verschiedener Zahlentypen speichern, z. B. eine Ziffer, zwei Ziffern, Hunderter- und Tausenderstellen (hier haben wir nur den vierstelligen Code geschrieben). die Sie je nach Bedarf weiter ausbauen können).

Schritt-4 – Wir ermitteln die Länge einer bestimmten Zahl. Abhängig von der Länge der Zahlen haben wir unterschiedliche Bedingungen, um die Indexwerte des Arrays zu verketten.

Schritt-5 – Nach Abschluss des Vorgangs drucken wir die Nummer und ihr Textformat aus.

Methode

Wir bieten Lösungen auf unterschiedliche Weise.

  • Durch benutzerdefinierte Methode mit statischem Eingabewert.

Schauen wir uns das Programm und seine Ausgabe einzeln an.

Methoden – Durch die Verwendung benutzerdefinierter Methoden und statischer Eingabewerte

In dieser Methode deklarieren wir einige zufällige Eingabezahlen durch statische Eingabe und übergeben diese Zahlen als Parameter an eine benutzerdefinierte Methode. Mithilfe eines Algorithmus innerhalb der Methode können wir dann das Textformat der angegebenen Zahl drucken.

Beispiel

public class Main{
   public static void main(String args[]) {
      digitToWord("1234".toCharArray());
      digitToWord("557".toCharArray());
      digitToWord("45".toCharArray());
      digitToWord("2".toCharArray());
      digitToWord("0".toCharArray());
      digitToWord("801".toCharArray());
      digitToWord("54312".toCharArray());
      //passing empty string
      digitToWord("".toCharArray());
   }
   static void digitToWord(char n[]) {
      int len = n.length;
      if (len == 0) {
         System.out.println("Empty string.");
         return;
      }
      if (len > 4) {
         System.out.print(String.valueOf(n) + ": ");
         System.out.println("The number you have entered has more than four digits.");
         return;
      }
      String[] unitPlaceDig = new String[] {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};
      String[] tensPlaceDig = new String[] {"", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; 
      String[] tensMultiplier = new String[] {"", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
      String[] powOfTens = new String[] {"Hundred", "Thousand"};
      System.out.print(String.valueOf(n) + ": ");
      if (len == 1){
         System.out.println(unitPlaceDig[n[0]-'0']);
         return;
      }
      int p = 0;
      while (p < n.length) {
         if (len >= 3){
            if (n[p] - '0' != 0) {
               System.out.print(unitPlaceDig[n[p] - '0'] + " ");
               System.out.print(powOfTens[len - 3]+ " ");
            }
            --len;
         }
         else {
            if (n[p] - '0' == 1) {
               int sum = n[p] - '0' + n[p + 1] - '0';
               System.out.println(tensPlaceDig[sum]);
               return;
            }
            else if (n[p] - '0' == 2 && n[p + 1] - '0' == 0) {
               System.out.println("Twenty");
               return;
            }
            else {
               int i = (n[p] - '0');
               if (i > 0)
               System.out.print(tensMultiplier[i]+ " ");
               else
               System.out.print("");
               ++p;
               if (n[p] - '0' != 0)
               System.out.println(unitPlaceDig[n[p] - '0']);
            } 
         }
         ++p;
      }
   }
}

Ausgabe

1234: One Thousand Two Hundred Thirty Four
557: Five Hundred Fifty Seven
45: Forty Five
2: Two
0: Zero
801: Eight Hundred One
54312: The number you have entered has more than four digits.
Empty string.

In diesem Artikel haben wir untersucht, wie man eine numerische Eingabe in Java akzeptiert und diese Zahl als Text anzeigt.

Das obige ist der detaillierte Inhalt vonEin Java-Programm gibt Zahlen ein und zeigt sie in Textform an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen