-1

Ive coded a program that converts numbers/integers to roman numerals but i need a Yes or no option. Pls i need help

import java.util.*;


public class num2roman
{
    public static void main(String...args)
    {

    int ones, tens, hundred;
    int num;

    Scanner sc = new Scanner(System.in);
    System.out.print("Enter a number [1-1000]: ");
    num = sc.nextInt();

    if (num>0 && num<10)
        {
            ones = num;
            switch(ones)
            {
            case 1: 
                System.out.print("I");
            break;

            case 2:
                System.out.print("II");
            break;

            case 3:
                System.out.print("III");
            break;

            case 4:
                System.out.print("IV");
            break;

            case 5:
                System.out.print("V");
            break;

            case 6:
                System.out.print("VI");
            break;

            case 7:
                System.out.print("VII");
            break;

            case 8:
                System.out.print("VIII");
            break;

            case 9:
                System.out.print("IX");
            break;      
            }   

        }

    else if (num>9 && num<100)
        {
            tens =(num/10);
            ones =(num%10);

            switch(tens)
            {
            case 1: 
                System.out.print("X");
            break;

            case 2:
                System.out.print("XX");
            break;

            case 3:
                System.out.print("XXX");
            break;

            case 4:
                System.out.print("XL");
            break;

            case 5:
                System.out.print("L");
            break;

            case 6:
                System.out.print("LX");
            break;

            case 7:
                System.out.print("LXX");
            break;

            case 8:
                System.out.print("LXXX");
            break;

            case 9:
                System.out.print("XC");
            break;      
            }

            switch(ones)
            {
            case 1: 
                System.out.print("I");
            break;

            case 2:
                System.out.print("II");
            break;

            case 3:
                System.out.print("III");
            break;

            case 4:
                System.out.print("IV");
            break;

            case 5:
                System.out.print("V");
            break;

            case 6:
                System.out.print("VI");
            break;

            case 7:
                System.out.print("VII");
            break;

            case 8:
                System.out.print("VIII");
            break;

            case 9:
                System.out.print("IX");
            break;      
            }   

        }
    else if (num>99 && num<1000)
        {
            hundred =(num/100); 
            tens =((num/10)%10);
            ones =(num%10);

            switch(hundred)
            {
            case 1: 
                System.out.print("C");
            break;

            case 2:
                System.out.print("CC");
            break;

            case 3:
                System.out.print("CCC");
            break;

            case 4:
                System.out.print("CD");
            break;

            case 5:
                System.out.print("D");
            break;

            case 6:
                System.out.print("DC");
            break;

            case 7:
                System.out.print("DCC");
            break;

            case 8:
                System.out.print("DCCC");
            break;

            case 9:
                System.out.print("CM");
            break;      
            }

            switch(tens)
            {
            case 1: 
                System.out.print("X");
            break;

            case 2:
                System.out.print("XX");
            break;

            case 3:
                System.out.print("XXX");
            break;

            case 4:
                System.out.print("XL");
            break;

            case 5:
                System.out.print("L");
            break;

            case 6:
                System.out.print("LX");
            break;

            case 7:
                System.out.print("LXX");
            break;

            case 8:
                System.out.print("LXXX");
            break;

            case 9:
                System.out.print("XC");
            break;      
            }

            switch(ones)
            {
            case 1: 
                System.out.print("I");
            break;

            case 2:
                System.out.print("II");
            break;

            case 3:
                System.out.print("III");
            break;

            case 4:
                System.out.print("IV");
            break;

            case 5:
                System.out.print("V");
            break;

            case 6:
                System.out.print("VI");
            break;

            case 7:
                System.out.print("VII");
            break;

            case 8:
                System.out.print("VIII");
            break;

            case 9:
                System.out.print("IX");
            break;      
            }   

        }
    else if (num == 1000)
        {
        System.out.print("M");
        }

    else
        {
            System.out.print("Out of range 1-1000 only!");
        }   
 }
 }
nano_nano
  • 12,351
  • 8
  • 55
  • 83

3 Answers3

0
System.out.print("Enter yes or no");
while (!sc.next().equals("yes") && !sc.next().equals("no")){
    System.out.print("Enter yes or no...");
}

That's basically what you want =)

Roel Strolenberg
  • 2,922
  • 1
  • 15
  • 29
0

There is a good question to start in stackoverflow. You should check the program arguments like this :

if(args[0].equalsIgnoreCase("YES")) {
    // Do whatever you want.
}
Community
  • 1
  • 1
TrapII
  • 2,219
  • 1
  • 15
  • 15
0

Add the following lines right after num = sc.nextInt();:

if (JOptionPane.showConfirmDialog(null, "Do you want to convert?", "Convert option", JOptionPane.YES_NO_OPTION) == 1) {
            System.out.print(num);
            System.exit(0);
        }

If you choose "No", it just displays the number. If you choose "Yes" it converts it.

Ahs N
  • 8,233
  • 1
  • 28
  • 33