1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Gre4nikov [31]
4 years ago
12

Write a program that converts a number entered in Roman numerals to decimal.

Computers and Technology
1 answer:
Montano1993 [528]4 years ago
5 0

Answer:

Here is the JAVA program:

import java.util.Scanner;   // for importing scanner class

public class RomanToDecimal{  //class to convert roman numeral to decimal

       static String romNum;  // variable that stores roman numeral

       static int decNum;  //variable that stores decimal number

       public static void main(String args[]) {  //start of the program

              //romtodec object created

              RomanToDecimal romtodec = new RomanToDecimal();  

//call function decimalConversion() that converts roman numeral to decimal

              romtodec. decimalConversion();  

//call function displayRomanNumeral to display the results of conversion

               romtodec. displayRomanNumeral(romNum);

//call function to display the decimal no. of roman numeral

               romtodec . displayDecimalNumber(decNum);   }

//method decimalConversion to convert Roman numeral to decimal

     public void decimalConversion () {

     Scanner scan = new Scanner(System.in);  //to get input

       //prompts user to enter a Roman numeral

     System.out.print("enter a Roman numeral: ");

               romNum = scan.nextLine();  //reads input    

               //stores the length of the entered Roman numeral                                            

                int length=  romNum.length();  

               int number=0;  //initializes number to 0

               int prevNum = 0;  //initializes previous number to 0

          //loops through the length of the input Roman numeral

               for (int i=length-1;i>=0;i--)  

//charAt() method returns the roman numeral symbol at the index i

               { char symbol =  romNum.charAt(i);

       //every symbol will be converted to upper case

                       symbol = Character.toUpperCase(symbol);

//switch statement tests the symbol variable for equality against a list of //numerals given and each numeral is assigned its equal decimal value.

                         switch(symbol)

                       {   case 'I':

                               prevNum = number;

                               number = 1;

                               break;

                            case 'V':

                                    prevNum = number;

                               number = 5;

                               break;

                               case 'X':

                                       prevNum = number;

                               number = 10;

                                break;

                               case 'L':

                                       prevNum = number;

                               number = 50;

                               break;

                               case 'C':

                                        prevNum = number;

                               number = 100;

                               break;

                               case 'D':

                                        prevNum = number;

                               number = 500;

                               break;

                               case 'M':

                                        prevNum = number;

                               number = 1000;

                               break; }          

/*checks if the number is greater than previous number

if the value of current roman symbol (character) is greater than the next

symbol's value. then add value of current roman symbol to the decNum

else subtract the value of current roman symbol from the value of its next symbol. */              

                       if (number>prevNum)

                           { decNum= decNum+number;  }

                       else

                          decNum= decNum-number;  }

//displays the decimal value of the roman numeral

       public static void displayRomanNumeral (String romNum){

               System.out.println ("The Roman numeral "+romNum+" is equal to decimal number"+decNum); }

//displays the number as decimal

           public static void displayDecimalNumber (int decNum){

       System.out.println ("The decimal number is: " + decNum);  } }      

Output:

enter a Roman numeral: MCXIV

The Roman numeral MCXIV is equal to decimal number 1114

Output:

enter a Roman numeral: CCCLIX

The Roman numeral CCCLIX is equal to decimal number 359

Output:

enter a Roman numeral: MDCLXVI

The Roman numeral MDCLXVI is equal to decimal number 1666

You might be interested in
Explain briefly how learning how to follow can make a person a good leader
Masja [62]

By  learning how to follow, one can  be a good leader because: Looking up to a leader and following them help to:

  • Keep one's ego in check and one can be able to be a good ego manager.
  • They create strong credibility.
  • They help use to focus our efforts for maximum impact.

<h3>How does being a good follower make you a good leader?</h3>

As a good follower, a person can be able to have the boldness and confidence to be able to respectfully talk about a lot of things with their leader if you see that you're not going in the right way.

Note that  one can trust your leader and this will boast up the spirit of your input and engagement in all.

Hence, By  learning how to follow, one can  be a good leader because: Looking up to a leader and following them help to:

  • Keep one's ego in check and one can be able to be a good ego manager.
  • They create strong credibility.
  • They help use to focus our efforts for maximum impact.

Learn more about good leader from

brainly.com/question/12522775

#SPJ1

3 0
2 years ago
Can some one help me answer this question plz
sergij07 [2.7K]

Answer:

In mathematics and digital electronics, a binary number is a number expressed in the base-2 numeral system or binary numeral system, which uses only two symbols: typically "0" (zero) and "1" (one). The base-2 numeral system is a positional notation with a radix of 2. Each digit is referred to as a bit, or binary digit.

Explanation: and the key to reading binary is separating the code into groups of usually 8 digits and knowing that each 1 or 0 represents a 1,2,4,8,16,32,64,128, ect. from the right to the left. the numbers are easy to remember because they start at 1 and then are multiplied by 2 every time.

5 0
3 years ago
Which devices are managed through device management? Device management is the process of managing----(blank)-----devices.
Trava [24]

It is the process of managing the implementation and maintenance of physical and/or virtual devices. It has various administrative tools for the maintenance and upkeep of a computing, mobile, network, and virtual devices. When we talk about devices, we usually refer to the hardware devices such as computers, laptops, and more. Device management typically installs device and component-level drivers, configure a device so it performs as expected, and implement security measures and processes.

4 0
3 years ago
Why does fiber optic communication technology have a significant security advantage over other transmission technology? higher d
erik [133]
Higher data rates can be transmitted Hope this helps!
7 0
4 years ago
How has the internet improved business communication worldwide
emmasim [6.3K]

Answer:

One of the biggest changes for businesses is the communication technology enabled by the internet. The way people communicate with one another, share files, make purchases, and collaborate has completely shifted since the internet became widespread.

Explanation:

4 0
2 years ago
Other questions:
  • Which best describes IMEI?
    7·1 answer
  • An example of a historical challenge of STAMIS is
    13·2 answers
  • Is 49 greater than y? Which below is correct?
    12·1 answer
  • Markup is best defined as
    11·1 answer
  • Pls help brainliest
    12·1 answer
  • Can some one help me on 4&amp;5
    6·1 answer
  • The UNIX system does not attempt to avoid cycles. Instead, it restricts access to the linking capability of the system. Normal u
    11·1 answer
  • In what way was the Ohio River Valley a factor in the French and Indian War? The Ohio River Valley was controlled by both France
    8·2 answers
  • Of all excavation hazards, _______ poses the greatest risk
    8·1 answer
  • What computing paradigm can solve a problem by describing the requirements, without writing code in a step-wise fashion to solve
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!