Question: Write a java program using switch/case, and if statements to convert an integer between 0 and 99999 ( 5-digit number range ) to words. Here

Write a java program using switch/case, and if statements to convert an integer between 0 and 99999 ( 5-digit number range ) to words.

Here is an example that only goes up to 99, this works fine, but I start getting errors once I start moving up to the thousands and tens of thousands.

import java.util.*;

public class digitToWord{

public static void main( String[] args ){

Scanner input = new Scanner( System.in );

final int MINIMUM_NUMBER = 0,

MAXIMUM_NUMBER = 99;

System.out.printf( "Enter a number between %d and %d: ",

MINIMUM_NUMBER,

MAXIMUM_NUMBER );

int number = input.nextInt();

boolean numberHasTeenValue = false;

if( number > MAXIMUM_NUMBER){

System.out.printf( "The number entered is too large! " );

System.exit( 1 );

}

if( number < MINIMUM_NUMBER ){

System.out.printf( "The number entered is too small! " );

System.exit( 1 );

}

if( number / 10 != 0 ){ // is tens digit non-zero?

switch( number / 10 ){ // compare tens digit number value

case 1: // tens digit is 1 so value is in teens

numberHasTeenValue = true;

switch( number % 10){

case 0: System.out.printf( "ten" );

break;

case 1: System.out.printf( "eleven" );

break;

case 2: System.out.printf( "twelve" );

break;

case 3: System.out.printf( "thirteen" );

break;

case 4: System.out.printf( "fourteen" );

break;

case 5: System.out.printf( "fifteen" );

break;

case 6: System.out.printf( "sixteen" );

break;

case 7: System.out.printf( "seventeen" );

break;

case 8: System.out.printf( "eighteen" );

break;

case 9: System.out.printf( "nineteen" );

break;

default: System.out.printf( "Something wrong!" );

System.exit( 1 ); // force program to exit, code 1 for error

}

System.exit( 0 ); // program exit, code 0

break;

case 2: System.out.printf( "twenty" );

break;

case 3: System.out.printf( "thirty" );

break;

case 4: System.out.printf( "forty" );

break;

case 5: System.out.printf( "fifty" );

break;

case 6: System.out.printf( "sixty" );

break;

case 7: System.out.printf( "seventy" );

break;

case 8: System.out.printf( "eighty" );

break;

case 9: System.out.printf( "ninety" );

break;

default: System.out.printf( "Something wrong!" );

System.exit( 1 );

} // end of switch( number / 10 )

if( number % 10 != 0 ) // does number have a non-zero ones value?

System.out.printf( "-" );

} // end of if( number / 10 != 0 )

if( number % 10 != 0 && numberHasTeenValue == false ){

// if number has a non-zero ones value and is not in the teen range

switch( number % 10 ){ // isolate ones-value and print the corresponding word

case 1: System.out.printf( "one" );

break;

case 2: System.out.printf( "two" );

break;

case 3: System.out.printf( "three" );

break;

case 4: System.out.printf( "four" );

break;

case 5: System.out.printf( "five" );

break;

case 6: System.out.printf( "six" );

break;

case 7: System.out.printf( "seven" );

break;

case 8: System.out.printf( "eight" );

break;

case 9: System.out.printf( "nine" );

break;

default: System.out.printf( "Something wrong!" );

System.exit( 1 );

}

}

System.out.printf( " " ); // output a newline

} // end of main function

} // end of class

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!