1.常见数组命名:
a.首先定义数组类型,数组名及长度:int[ ]array=new int[10]; //类型int类型,数组名:array ,长度为10
b.在命名定义的同时可以直接赋值,也可从键盘获取输入:int [ ]array={1,3,13,12,6,8,4,3,5,4};也可写成:int[ ]array=new int[ ]{1,3,13,12,6,8,4,3,5,4};
从键盘获取输入:首先需要导入Scanner包,同时使用for循环。详细代码如下:
import java.util.Scanner;
public class csdn {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int []array=new int[10];
System.out.println("请输入数组");
for(int i=0;i<array.length;i++){
array[i]=input.nextInt();
}
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}
}
2. 程序中代码分析:
//将string数组num转换成整型int数组num1;
int num1[ ]=Integer.parseInt(num[ ]);
//将char数组num转换成整型int数组num1;
int num1[]=Integer.parseInt(String.valueOf(num[]));
//将字符串carry转换成Char数组num;
String carry="abcdefg";
char[]num=carry.toCharArray();
//将数组num转换成字符串数组输出;
import java.util.Arrays;
System.out.print("你输入的身份证是:"+Arrays.toString(num));
//将int类型yushu转换成String类型yu;
String yu=String.valueOf(yushu);
//字符串进行比较用equals;
((name.equals("yes")) //字符串name=yes
package Shuzu;
import java.util.Arrays;
import java.util.Scanner;
public class Yanzhengshenfenzheng {
public static void main(String[] args) {
int S=0;int sum=0;int yushu=0;
//S=身份证17位数字和系数相乘 sum=相乘的结果相加 yushu=对11取余
//获取用户输入的身份证号
Scanner input=new Scanner(System.in);
int num1[]=new int[17];
//定义系数数组array
int[]array={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char[]num=new char[18];
char[]ary=new char[]{'1','0','X','9','8','7','6','5','4','3','2'};
System.out.println("请输入18位身份证");
String carry=input.nextLine();
num=carry.toCharArray();
System.out.println("你输入的身份证是:"+carry);
//将身份证前17位拉出来组成int数组num1
for(int k=0;k<17;k++){
num1[k]=Integer.parseInt(String.valueOf(num[k]));
}
//将身份证前十七位与对应系数相乘
for(int j=0;j<17;j++){
S=num1[j]*array[j];
sum+=S;
}
yushu=sum%11;
//与身份证第18位进行字符比较,如果相等则输入身份证正确
if(ary[yushu]==num[17]){
System.out.println("输入身份证正确");
}
else{
System.out.println("身份证号错误");
}
}
}