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

Program Java untuk memasukkan nombor dan memaparkannya dalam bentuk teks

王林
Lepaskan: 2023-09-06 20:57:07
ke hadapan
886 orang telah melayarinya

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
Salin selepas log masuk

Contoh 2

Input number is 123.
Word format of 123 = One Hundred Twenty-Three
Salin selepas log masuk

Contoh 3

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

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;
      }
   }
}
Salin selepas log masuk

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.
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan