This programme can wite in two way. in the first way is for begineers, simple convert the digits into words and print it. The Second way is little more complex, here we convert the numbers into words properly. and according to me This is the correct way for this program.
import java.util.*; public class NumberToWords { public static void main(String []args) { String []nos={"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}; Scanner sc=new Scanner(System.in); System.out.print("Enter The Number : "); int no=sc.nextInt(); int r; String res=""; while(no>0) { r=no%10; res = nos[r] + " " + res; no /= 10; } System.out.print("\n " + res); } }
Output
Enter The Number : 756
Seven Five Six
import java.util.*; public class NumberToWords { public static void main(String []args) { String []nos={"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}; Scanner sc=new Scanner(System.in); System.out.print("Enter The Number : "); String no=sc.next(); String res=""; int no1=0,no2=0,no3=0; if(no.length()==3) { no1=Integer.parseInt(no.substring(0,1)); no2=Integer.parseInt(no.substring(1,2)); no3=Integer.parseInt(no.substring(2,3)); res = nos[no1] + " Hundred " + nos[18+no2] + " "; if(no3>0) res += nos[no3]; res += " Only"; } System.out.print("\n " + res); } }
Output
Enter The Number : 345
Three Hundred Fourty Five Only
Enter The Number : 670
Six Hundred Seventy Only