我正在学习Java,我需要编写一个转换罗马数字和传统整数的程序。
代码只接受字母MDCLXVI作为罗马数字。它不接受任何数字。
这是我的密码:
System.out.print("Enter a roman numeral");
Scanner keyb = new Scanner(System.in);
String roman = keyb.next();
if(roman.matches(".*[0-9].*") || **something different then M, D,
目标:
编写一个函数,该函数以一个数字作为输入,并为该数字返回一个简短的罗马数字作为输出。
罗马数字符号:
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1,000
举个例子,当我说“短手罗马数字”时,让我们考虑找一个代表1983年的罗马数字,因为那是我出生的那一年。一种选择是以正常的方式(10个字母)这样做:
1983 = MCMLXXXIII = (1000 - 100 + 1000 + 50 + 30 + 3)
另一种选择是采用短手方式(6个字符):
198
这是一个程序,用于将罗马数字转换为它们的十进制等价物。必须有一个更好的方法来区分,例如,'IV‘和'VI',比我目前所写的。
#include <iostream>
#include <string>
using namespace std;
class romanType{
public:
romanType();
romanType(string s);
~romanType();
void setRoman(string); //Set the Roman numeral from user e
我正在编写一些python代码,我创建了一个罗马数字类。它的工作原理与构建在roman()类中的基本相同。我想实例化从1到1000的罗马数字,而不必亲自实例化每一个。例如:
I = roman(1)
II = roman(2)
.... up to M = roman(1000)
假设我已经有了一种将数字转换成罗马数字的方法,那么最有效的方法是什么呢?
因此,应该有人能够从罗马模块中导入*并键入如下内容:
IV * I + II * V
然后..。
罗曼(14)
换句话说..。每个罗马数字都是自己的对象。
将罗马数字转换为数字!用户输入他的一个罗马数字,该代码将他/她的罗马数字转换为经典数字。 var roman = prompt("Enter roman number", roman);
var romandigits = roman.toString().split(""); // spliting roman number entered into an array!
let romannumerals = ["M", "D", "C", "L", "X", "V
基本转换器(仅仅是一个原型)在String和java.time.LocalDateTime之间进行来回转换。
@FacesConverter("localDateTimeConverter")
public class LocalDateTimeConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) {
if (submitted