java中1.输入身份证号,判断此人性别。 (15位身份证号码:第15位代表性别,奇数为男,偶数为女。18位身份证号码:第17位代表性别,奇数为男,偶数为女。)2.键盘输入一个字符串,获得随机打乱字符位置后的字符串,并将其输出。
时间: 2024-11-16 17:27:44 浏览: 47
根据二代身份证号码判断某人的性别
5星 · 资源好评率100%
在Java中,你可以通过以下步骤实现这两个功能:
1. **判断身份证号码的性别**:
对于15位和18位的身份证号码,判断性别主要是看最后一位数字。可以编写如下的函数:
```java
public String judgeGender(String idNumber) {
int lastDigit;
if (idNumber.length() == 18) { // 18位身份证
lastDigit = Character.getNumericValue(idNumber.charAt(16)); // 第17位
} else if (idNumber.length() == 15) { // 15位身份证
lastDigit = Integer.parseInt(idNumber.substring(idNumber.length() - 1));
} else {
return "输入的不是有效的身份证号码";
}
return lastDigit % 2 == 0 ? "女" : "男"; // 奇数为男,偶数为女
}
```
使用这个函数,传入身份证号码即可判断其性别。
2. **键盘输入并打乱字符串顺序**:
可以使用`Collections.shuffle()`方法配合数组或列表来实现字符串字符的随机排列。首先将字符串转换成字符数组,然后打乱,再转换回字符串。以下是示例代码:
```java
import java.util.Arrays;
import java.util.Collections;
public String shuffleString(String input) {
char[] chars = input.toCharArray();
Collections.shuffle(Arrays.asList(chars));
return new String(chars);
}
// 调用方法
String shuffledStr = shuffleString("example");
System.out.println(shuffledStr);
```
使用以上两个方法,分别处理身份证性别判断和字符串打乱功能。记得检查输入的有效性哦。
阅读全文