Rumah  >  Artikel  >  Java  >  Program Java untuk memasukkan nombor dan memaparkannya dalam bentuk teks

Program Java untuk memasukkan nombor dan memaparkannya dalam bentuk teks

王林
王林ke hadapan
2023-09-06 20:57:07792semak imbas

Program Java untuk memasukkan nombor dan memaparkannya dalam bentuk teks

Nombor pada asasnya diwakili dalam format angka, atau sebagai nilai integer. Tetapi untuk sebutan, kami menggunakan perkataan. Setiap nombor mempunyai format perkataan yang unik.

Sebagai contoh, format perkataan untuk 1 ialah "Satu". Sama seperti format perkataan untuk 2 ialah "dua", format perkataan untuk 3 ialah "tiga"...dan seterusnya. Untuk dua digit, format nombor berbeza sedikit. 21 bermaksud "dua puluh satu", 45 bermaksud "empat puluh lima"...dan seterusnya. Oleh itu, untuk semua jenis nombor, terdapat format perkataan unik yang tersedia.

Tunjukkan kepada anda beberapa contoh

Contoh 1

Input number is 15.
Word format of 15 = Fifteen

Contoh 2

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

Contoh 3

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

Algoritma

Langkah-1 - Dapatkan nombor yang dimasukkan melalui kaedah input statik.

Langkah-2 - Isytiharkan tatasusunan jenis rentetan dan simpan nombor dalam rentetan.

Langkah-3 - Kemudian kami mengisytiharkan beberapa tatasusunan lain jenis rentetan di mana kami menyimpan format perkataan pelbagai jenis nombor seperti kedudukan satu digit, dua digit, ratusan dan beribu-ribu (di sini kami hanya menulis kod Empat digit terbanyak yang boleh anda kembangkan lagi mengikut keperluan anda).

Langkah-4 - Kami sedang mencari panjang nombor yang diberikan. Bergantung pada panjang nombor, kami mempunyai syarat yang berbeza untuk menggabungkan nilai indeks tatasusunan.

Langkah-5 - Selepas menyelesaikan proses, kami mencetak nombor dan format teksnya.

Kaedah

Kami menyediakan penyelesaian dengan cara yang berbeza.

  • Melalui kaedah yang ditentukan pengguna dengan nilai input statik.

Mari kita lihat program dan outputnya satu persatu.

Kaedah - Dengan menggunakan kaedah yang ditentukan pengguna dan nilai input statik

Dalam kaedah ini kami mengisytiharkan beberapa nombor input rawak melalui input statik dan menghantar nombor ini sebagai parameter ke dalam kaedah yang ditentukan pengguna dan kemudian menggunakan algoritma di dalam kaedah kami boleh mencetak format teks nombor yang diberikan.

Contoh

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

Output

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.

Dalam artikel ini, kami meneroka cara menerima input angka dalam Java dan memaparkan nombor itu sebagai teks.

Atas ialah kandungan terperinci Program Java untuk memasukkan nombor dan memaparkannya dalam bentuk teks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam