package 身份证;
import java.util.Scanner;
public class sfz {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int[]numArray={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
System.out.println("请输入身份证号:");
String card=input.next();
while(true){
System.out.println("再输一次确认:");
card=input.next();
if(card.length()!=18){
System.out.println("这是不正确的身份证号");
System.out.println("是否继续(Y/N 区分大小写)");
String YN=input.next();
if(YN.equals("Y")){
System.out.println("谢谢使用");
continue;
}
if(YN.equals("N")){
System.out.println("再见");
break;
}
else{
System.out.println("这是不正确的身份证号");
}
} else{
try { System.out.println("这是正确的身份证号");
}
catch(Exception e) {
}
}
String card1= card.substring(0,3);
char a[] = card1.toCharArray();
String gz = "4401";
if (card1 == gz)
{
System.out.println("您来自广州地区");
}
else
{
System.out.println("您不是来自广州地区");
}
String card2 = card.substring(16,17);
char a1[] = card2.toCharArray();
int r = Integer.parseInt(card2);
if (r % 2 ==0) {
System.out.println("这是一位女士的身份证号");
}else {
System.out.println("这是一位男士的身份证号");
}
break;
}
}
}
card1 == gz
改为
card1.equals(gz)
上面都有用到equals()方法,为什么这块不知道用了。
字符串比较用equals方法。
package test;
import java.util.Scanner;
public class sfz {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numArray = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
System.out.println("请输入身份证号:");
String card = input.next();
while (true) {
System.out.println("再输一次确认:");
card = input.next();
if (card.length() != 18) {
System.out.println("这是不正确的身份证号");
System.out.println("是否继续(Y/N 区分大小写)");
String YN = input.next();
if (YN.equals("Y")) {
System.out.println("谢谢使用");
continue;
}
if (YN.equals("N")) {
System.out.println("再见");
break;
} else {
System.out.println("这是不正确的身份证号");
}
} else {
try {
System.out.println("这是正确的身份证号");
} catch (Exception e) {
}
}
String card1 = card.substring(0, 4);
System.out.println(card1);
char a[] = card1.toCharArray();
String gz = "4401";
if (card1.contentEquals(gz)) {
System.out.println("您来自广州地区");
} else {
System.out.println("您不是来自广州地区");
}
String card2 = card.substring(16, 17);
char a1[] = card2.toCharArray();
int r = Integer.parseInt(card2);
if (r % 2 == 0) {
System.out.println("这是一位女士的身份证号");
} else {
System.out.println("这是一位男士的身份证号");
}
break;
}
}
}
例如
String card = "123456789321456987"
String card1= card.substring(0,3);
System.out.println(card1); //输出的值是:123
应该改成:
String card1= card.substring(0,4);
System.out.println(card1); //输出的值是:1234
==在字符串中是判断对象是否一致
应该改成:
String gz = "4401";
if (card1.equals(gz)){
System.out.println("您来自广州地区");
}else{
System.out.println("您不是来自广州地区");
}
这是按照我的意思写的,如果有错误请谅解
改成这样
Scanner input = new Scanner(System.in);
int[] numArray = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
System.out.println("请输入身份证号:");
String card = input.next();
while (true) {
System.out.println("再输一次确认:");
card = input.next();
if (card.length() != 18) {
System.out.println("这是不正确的身份证号");
System.out.println("是否继续(Y/N 区分大小写)");
String YN = input.next();
if (YN.equals("Y")) {
System.out.println("谢谢使用");
continue;
}
if (YN.equals("N")) {
System.out.println("再见");
break;
} else {
System.out.println("这是不正确的身份证号");
}
} else {
try {
System.out.println("这是正确的身份证号");
} catch (Exception e) {
}
}
String card1 = card.substring(0, 4);
char a[] = card1.toCharArray();
String gz = "4401";
if (card1.equals(gz)) {
System.out.println("您来自广州地区");
} else {
System.out.println("您不是来自广州地区");
}
String card2 = card.substring(16, 17);
char a1[] = card2.toCharArray();
int r = Integer.parseInt(card2);
if (r % 2 == 0) {
System.out.println("这是一位女士的身份证号");
} else {
System.out.println("这是一位男士的身份证号");
}
break;
}