Maison  >  Article  >  Java  >  Programme Java pour saisir des nombres et les afficher sous forme de texte

Programme Java pour saisir des nombres et les afficher sous forme de texte

王林
王林avant
2023-09-06 20:57:07792parcourir

Programme Java pour saisir des nombres et les afficher sous forme de texte

Les nombres sont essentiellement représentés sous forme numérique ou sous forme de valeurs entières. Mais pour la prononciation, on utilise des mots. Chaque numéro a un format de mot unique.

Par exemple, le format de mot pour 1 est « Un ». Tout comme le format de mot pour 2 est « deux », le format de mot pour 3 est « trois »... et ainsi de suite. Pour deux chiffres, le format numérique est légèrement différent. 21 signifie « vingt et un », 45 signifie « quarante-cinq »… et ainsi de suite. Par conséquent, pour tous les types de nombres, il existe un format de mot unique.

Montrez quelques exemples

Exemple 1

Input number is 15.
Word format of 15 = Fifteen

Exemple 2

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

Exemple 3

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

Algorithme

Étape 1 - Obtenez le numéro saisi via la méthode de saisie statique.

Étape 2 - Déclarez un tableau de type chaîne et stockez les nombres dans la chaîne.

Étape 3 - Ensuite, nous déclarons d'autres tableaux de type chaîne dans lesquels nous stockons les formats de mots de différents types de nombres tels qu'un chiffre, deux chiffres, des centaines et des milliers de positions (ici, nous n'avons écrit que le code le plus à quatre chiffres que vous pouvez développer davantage selon vos besoins).

Étape 4 - Nous trouvons la longueur d'un nombre donné. Selon la longueur des nombres, nous avons différentes conditions pour concaténer les valeurs d'index du tableau.

Étape 5 - Une fois le processus terminé, nous imprimons le numéro et son format de texte.

Méthode

Nous proposons des solutions de différentes manières.

  • Via des méthodes définies par l'utilisateur avec des valeurs d'entrée statiques.

Regardons le programme et sa sortie un par un.

Méthodes - En utilisant des méthodes définies par l'utilisateur et des valeurs d'entrée statiques

Dans cette méthode, nous déclarons certains nombres d'entrée aléatoires via une entrée statique et transmettons ces nombres en tant que paramètres dans la méthode définie par l'utilisateur, puis en utilisant un algorithme à l'intérieur de la méthode, nous pouvons imprimer le format texte du nombre donné.

Exemple

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;
      }
   }
}

Sortie

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.

Dans cet article, nous avons exploré comment accepter une saisie numérique en Java et afficher ce nombre sous forme de texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer