-
Can someone please help me with a number conversion program?
I have to design a number conversion program for Uni.
Basically, what I have to do is create a program that will convert a four digit Arabic numeral of a year (eg. 1988) into Roman numerals (eg. MCMLXXXVIII).
I am completely stumped. I will be eternally grateful to anyone who can help me.
Thank you!
-
Do a google search. There are many known solutions.
ArchAngel.
O:-)
-
Thanks for the advice ArchAngel!
I googled it and came up with some example source code that I couldn't understand.
Last night I came up with my own (written english) algorithm which was quite simple. The program I need to write from this is fairly simple (well...for the average Java user - not me of course ), but I need help getting it started.
Could someone please design a small program where the user is prompted to enter two single digit numbers (0-9). If the user enters [1], then the program should print "A", if they enter [2] then it should print "B", if they enter [3] then it should print "C" and so on. I was hoping that the consecutinve letters would be printed next to each other without spaces.
So if the user enters 1 as the first digit, then 2 as the second, I want the program to output the letters "AB".
If you could do this for me I could improvise from there and complete the program. I seem to be better at learning how to program by imitating others
Thank You.
-
If want people to reply, it's generally best to ask a specific question, rather than ask them to write a program. But, I'm feeling rather chirpy today, so here it is:
Code:
import java.io.*;
public class Int2Str {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter 1st Number: ");
String line1 = br.readLine();
System.out.print("Enter 2nd Number: ");
String line2 = br.readLine();
// Validate the input - I'll leave that to you and assume everything's OK.
int indexBeforeA = 'A' - 1;
// Calculate the appropriate Unicode index
int i1 = indexBeforeA + Integer.parseInt(line1);
int i2 = indexBeforeA + Integer.parseInt(line2);
// Convert the integers to chars
char c1 = (char)i1;
char c2 = (char)i2;
System.out.println("Output: " + c1 + c2);
}
}
The only bit of code in this that you might find a little strange should be:
Code:
int indexBeforeA = 'A' - 1;
// Calculate the appropriate Unicode index
int i1 = indexBeforeA + Integer.parseInt(line1);
Put simply, when you cast an int to a char, it uses the int value as an index into a unicode table of characters. 'A' == 45 (I think). Because you wanted 'A' to be output if the user entered '0', I had to do a little bit of maths to offset the input.
Hope this helps,
ArchAngel.
ArchAngel.
O:-)
-
Thank you so much for that!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks