Javascript 用于罗马数字的循环内的If语句
我正在做一个程序,把十进制数字改成罗马数字。我接近于让数字1-8起作用,但由于某种原因,3不会出现。我只是想解决这个问题。一旦我做到了,我觉得我可以构建程序的其余部分。请记住,我只是在一门编程入门课上,所以我确信有更好的方法来解决这个问题,而不是我是如何接近它的,到目前为止,我只是在使用我所学到的Javascript 用于罗马数字的循环内的If语句,javascript,roman-numerals,Javascript,Roman Numerals,我正在做一个程序,把十进制数字改成罗马数字。我接近于让数字1-8起作用,但由于某种原因,3不会出现。我只是想解决这个问题。一旦我做到了,我觉得我可以构建程序的其余部分。请记住,我只是在一门编程入门课上,所以我确信有更好的方法来解决这个问题,而不是我是如何接近它的,到目前为止,我只是在使用我所学到的 var romanize = function(userNumber) { var rome = []; for (var i = 0; i <= userNumber; i++) {
var romanize = function(userNumber) {
var rome = [];
for (var i = 0; i <= userNumber; i++) {
if (userNumber >= 5) {
rome.push("V");
userNumber = (userNumber % 5);
} else if (userNumber === 4) {
return "IV";
} else if (userNumber < 3) {
rome.push("I");
}
}
return rome
};
var romanize=函数(userNumber){
var rome=[];
对于(变量i=0;i=5){
罗马。推(“V”);
用户编号=(用户编号%5);
}else if(userNumber==4){
返回“IV”;
}else if(用户编号<3){
罗马。推(“我”);
}
}
返回罗马
};
您希望userNumber<3应该是userNumber。这种编程方式只允许您获取数字的罗马数字到某一点。真正的挑战是让它适用于任何数字。假设您有一系列的值/字母对要处理(例如,[[1',i'],[5',V'],[10',X'],…,[1000',M'].
)。VIII到IX开关也是一个潜在的陷阱。您做得很好。这不仅是一个工作程序,也是一个很好的问题。你已经领先很多程序员了