gpt4 book ai didi

java - 如何创建 RomanNumeral 对象并将其转换回 int、long 等?

转载 作者:行者123 更新时间:2023-12-02 00:19:27 25 4
gpt4 key购买 nike

我想获取存储在对象中的罗马数字值并将其转换回整数、长整型、浮点型和 double 值。除了创建适当的方法之外,我真的不知道从哪里开始。谁能提供一些建议吗?

http://pastebin.com/sqwdhbtu

谢谢!

最佳答案

您的问题似乎是如何将罗马数字转换为整数。在这种情况下,您所需要的只是一个从左到右解析字符串并将结果加在一起的函数,同时查找应减去的较小数字。

class RomanNumeral{
String roman;

public RomanNumeral(String roman){
this.roman = roman;
}

public RomanNumeral Clone(){
return new RomanNumeral(this.roman);
}

public int GetValue(){
int sum = 0;
int carry = 0;
for(int i = 0; i< roman.Length;i++)
{
if(i<roman.Length-1){
if(GetRomanValue(roman[i])>GetRomanValue(roman[i+1])){
sum += GetRomanValue(roman[i]) - carry;
carry = 0;
}
else carry = GetRomanValue(roman[i]);
}
else sum += GetRomanValue(roman[i]) - carry;
}
}

int GetRomanValue(char c)
{
switch(c){
case 'I': return 1;
case 'V': return 5;
//and so on...
}
}
}

获得整数后,您可以将其转换为其他数字类型。

关于java - 如何创建 RomanNumeral 对象并将其转换回 int、long 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com