首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环使用Javascript和计算

循环使用Javascript和计算
EN

Stack Overflow用户
提问于 2014-09-09 11:32:42
回答 1查看 120关注 0票数 0

我已经得到了一个模拟测试来完成java脚本,但是我很难计算出如何使用for循环通过预定义的变量数来计数,然后将该数字用于其他方程。

这就是我要做的..。

  1. 将前九位数字中的每一位按照其位置乘以加权因子。
  2. 将每个乘法的结果相加在一起。
  3. 将总数除以11,然后确定其余部分。
  4. 从11减去余数,给出校验数字。

例如,起始位置为1-9,加权因子为10-2。

SP=WF 1\x{e 010} 10,2\x{e76f} 9,3\x{e76f} 8,4\x{e76f} 7,5\x{e} 6,6\x{e76f} 5,6\x{e 010}5,7\x{e76f} 4,8\ 3,9\x{e76f}2

这是我到目前为止所做的代码,但是在使用for循环来计数数值var而不是1-9时,我有点被困住了。我跳过了它,继续运行的代码,我只是不能工作for循环,也无法完成var的整个部分,我挣扎着。

代码语言:javascript
复制
//setting variable to equal a number
var number = "4010232137"; 

//return value is set to 0 to use as a boolean so if code is false before then IF           statement not used
var returnValue = 0;

//confirming length of number so it meets reuirement of being 10 digits long
var length = n.length;

    var weightFactor = 11 - i;
    // get the "ith" character
    c = n.charAt(i);
    var result = c * weightFactor;
    var total = total + result;
    }
}

var tenthDigit = number.slice(9);
var remainder = total % 11;
var checkDigit = 11 - remainder;

if(checkDigit == 11){
    var checkDigit = 0;
}

if(checkDigit == tenthDigit){
    var returnValue = 1;
}

WScript.echo(returnValue)
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-09 11:49:08

你想要做的事情很简单,一步一步地走:

代码语言:javascript
复制
var number = "4010232137";
var result = 0;
var wf = 10;

这些是您的初始变量,结果将包含乘法后的和,加权因子将从10开始,在每一个循环间隔后会减少1:

代码语言:javascript
复制
for(var i=0; i<number.length - 1; i++){ //multiplying first '9' digits by wf
    result += number[i]*wf;
    wf--;
}

这是一个简单的循环,用来将前9位数字乘以wf并加和。看看wf是如何减少1的,所以第一个数字将被乘以10,第二个数字乘以9,等等。在这种情况下,和(结果)将是'92‘。

代码语言:javascript
复制
var remainder = result % 11;
var checkDigit = 11 - remainder;

接下来,我们计算了剩余部分和checkDigit。

代码语言:javascript
复制
var tenthDigit = number[number.length-1]; //last digit
var returnValue = 0;

if(checkDigit == 11)
    checkDigit = 0;
else if(checkDigit == tenthDigit)
    returnValue = 1;

最后是计算返回值的逻辑。在本例中是1,因为checkDigit和tenthDigit都是7。

在这里,您可以找到完整的工作代码和结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25743582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档