作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在尝试编写将罗马数字(如 MCLII)转换为阿拉伯数字的程序。在电脑和教科书前度过几个小时后,我有一个未完成的代码。请帮我找出为什么程序出错并且最后不打印任何内容。谢谢
public class Main {
public static void romanToDecimal(java.lang.String romanNumber) {
int decimal = 0;
int lastNumber = 0;
String romanNumeral = romanNumber.toUpperCase();
for (int x = romanNumeral.length() - 1; x >= 0 ; x--)
{
char convertToDecimal = romanNumeral.charAt(x);
switch (convertToDecimal)
{
case 'M':
decimal = processDecimal(1000, lastNumber, decimal);
lastNumber = 1000;
break;
case 'D':
decimal = processDecimal(500, lastNumber, decimal);
lastNumber = 500;
break;
case 'C':
decimal = processDecimal(100, lastNumber, decimal);
lastNumber = 100;
break;
case 'L':
decimal = processDecimal(50, lastNumber, decimal);
lastNumber = 50;
break;
case 'X':
decimal = processDecimal(10, lastNumber, decimal);
lastNumber = 10;
break;
case 'V':
decimal = processDecimal(5, lastNumber, decimal);
lastNumber = 5;
break;
case 'I':
decimal = processDecimal(1, lastNumber, decimal);
lastNumber = 1;
break;
}
}
System.out.println(decimal);
}
public static int processDecimal(int decimal, int lastNumber, int lastDecimal)
{
if (lastNumber > decimal)
{
return lastDecimal - decimal;
} else {
return lastDecimal + decimal;
}
}
public static void main(java.lang.String args[]) {
System.out.println("PLEASE ENTER ANY NUMBER IN ROMAN NUMERIC FORMAT:");
Scanner input = new Scanner(System.in);
int romanToDecimal;
romanToDecimal = input.nextInt();
}
}
最佳答案
您没有调用任何方法,因此它不会执行任何操作。只会打印此内容
System.out.println("PLEASE ENTER ANY NUMBER IN ROMAN NUMERIC FORMAT:");
调用如下方法
romanToDecimal("some tring");
因此您正在从控制台获取用户的输入
就这样吧
Scanner input = new Scanner(System.in);
romanToDecimal(input);
关于java - 罗马数字到阿拉伯数字的转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19899433/
我正在 prolog 中完成一项作业扫描数字列表并应返回该列表是否是有效的罗马数字以及数字的十进制值。例如) 1 ?- roman(N, ['I'], []). N = 1 true. 2 ?- 当我
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在尝试将字符串分成多个部分以读取罗马数字。例如,如果用户输入 "XI" 我希望程序能够理解我是 1,X 是 10,这样才能进行数据验证。 if(string roman == "X") int r
我是一名优秀的程序员,十分优秀!