使用.net书写sum += (idCard.charAt(i) - '0') * weights[i];
时间: 2024-06-10 15:09:14 浏览: 55
你好,这是一个计算身份证号码校验位的问题,可以使用以下代码实现:
```
string idCard = "xxxxxxxxxxxxxxxxx";
int[] weights = new int[] { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
int sum = 0;
for (int i = 0; i < 17; i++)
{
sum += (idCard[i] - '0') * weights[i];
}
int remainder = sum % 11;
string[] checkCodes = new string[] { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" };
string checkCode = checkCodes[remainder];
Console.WriteLine("身份证校验位为:" + checkCode);
```
希望能够帮到你!
相关问题
idcard="2202031942******14";managerIdcard=idcard.substring(0, 9) + "******" + idcard.substring(idcard.length()-2); 获取managerIdcard的值
根据给定的idcard字符串,我们可以使用substring方法来获取managerIdcard的值。substring方法可以截取字符串的一部分。
首先,我们可以使用substring(0, 9)来获取idcard字符串的前9个字符,即身份证号码的前9位。然后,我们可以使用substring(idcard.length()-2)来获取idcard字符串的倒数第2个字符到最后一个字符,即身份证号码的后2位。
接下来,我们将这两部分字符串连接起来,并在中间添加"******"作为隐藏部分,即可得到managerIdcard的值。
以下是示例代码:
```java
String idcard = "2202031942******14";
String managerIdcard = idcard.substring(0, 9) + "******" + idcard.substring(idcard.length()-2);
System.out.println(managerIdcard);
```
输出结果为:
```
220203194******14
```
将<c:if test="${fn:length(user.card)>8}"> ${fn:substring(user.card, 0, fn:length(user.card)-8)}**** </c:if>写入 String verifyCard = verifyUser.getCard(); if (verifyCard.length() > 8) { verifyCard = verifyCard.substring(0) verifyCard.substring(-8)+ "****" } String idCard = userInfo.getCard(); // 进行比较 if (idCard.equals(verifyCard)) { userInfo.setCard(verifyUser.getCard()); }
你可以将<c:if>标签中的代码转换为Java代码如下:
```java
String verifyCard = verifyUser.getCard();
if (verifyCard.length() > 8) {
verifyCard = verifyCard.substring(0, verifyCard.length() - 8) + "****";
}
String idCard = userInfo.getCard();
// 进行比较
if (idCard.equals(verifyCard)) {
userInfo.setCard(verifyUser.getCard());
}
```
这段代码实现了以下逻辑:
- 首先,从`verifyUser`对象中获取`card`属性值,并将其赋给`verifyCard`变量。
- 然后,判断`verifyCard`的长度是否大于8,如果是,则将`verifyCard`的前面部分保留,后面部分替换为"****"。
- 接下来,从`userInfo`对象中获取`card`属性值,并将其赋给`idCard`变量。
- 最后,比较`idCard`和`verifyCard`是否相等,如果相等,则将`verifyUser`对象的`card`属性值赋给`userInfo`对象的`card`属性值。
请注意,代码中的注释是为了帮助理解代码逻辑,并不会被编译执行。