目录
一、案例代码
1. 员工管理系统的实现:
代码:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用员工管理系统:");
int[] nos = new int[2];
String[] names = new String[2];
boolean flag = true;
int i = 0;
while (flag) {
System.out.println("请选择功能:1、添加员工 2、查询员工 3、修改员工 4、删除员工 5退出系统");
int c = scanner.nextInt();
switch (c) {
case 1:
System.out.println("请输入员工姓名:");
String name = scanner.next(); // 键盘输入
names[i] = name; // 加下标
int oldid = 1001; // 定义初始值
oldid = 1001 + i;
nos[i] = oldid;
System.out.println("工号:" + nos[i] + "姓名" + name + "添加成功");
System.out.println("欢迎进入员工系统");
i++;
if (i >= nos.length) {
// 数组要扩容
int[] newnos = new int[nos.length + 1];
String[] newnames = new String[names.length + 1];
for (int j = 0; j < nos.length; j++) {
// 数组中的数据的复制
newnos[j] = nos[j];
newnames[j] = names[j];
}
// 重新赋值
nos = newnos;
names = newnames;
}
break;
case 2:
System.out.println("请输入员工编号:");
boolean f = false;
int num = scanner.nextInt();
for (int p = 0; p < nos.length; p++) {
if (num == nos[p]) {
System.out.println("员工编号是:" + num + "员工姓名是:" + names[p - 1]);
f = true;
}
}
if (!f) {
System.out.println("员工不存在");
break;
}
break;
case 3:
System.out.println("请输入员工号:");
boolean e=false;
int num1 = scanner.nextInt();
for (int x = 0; x < nos.length; x++) {
if (num1 == nos[x]) {
System.out.println("员工编号是:" + num1 + "员工姓名是:" + names[x - 1]);
System.out.println("请输入要修改的姓名");
String name1 = scanner.next();
names[x - 1] = name1;
System.out.println("修改后的员工号和姓名是:" + num1 + names[x - 1]);
e = true;
break;
}
}
if (!e ) {
System.out.println("员工不存在");
break;
}
break;
case 4:
System.out.println("请输入要删改工号:");
int num2 = scanner.nextInt();
for (int y = 0; y < nos.length; y++) {
if (num2 == nos[y]) {
nos[y] = nos[nos.length - 1];
nos= Arrays.copyOf(nos,nos.length-1);
names[y] = names[names.length - 1];
names= Arrays.copyOf(names,names.length-1);
System.out.println("删除成功");
}
}
break;
case 5:
flag=false;
System.out.println("退出系统");
break;
default:
}
}
}
}
结果:
2.小案例:根据下标找出数组中的数
代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[]{4, 58, 69, 14, 22, -1};
System.out.println("请输入一个下标");
int index = sc.nextInt();
for (int x = 0; x < arr.length; x++) {
if (index <= arr.length-1&&index>0) {
System.out.print(arr[index]);
}else if (index>arr.length|| index<0){
System.out.println("输入不合法");
}
break;
}
}
结果:
3.小案例:
代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[]arr=new int[]{1,2,3,4,5};
for (int x=0;x<arr.length;x++){
System.out.println("请输入第"+(x+1)+"个数");
int num= sc.nextInt();
arr[arr.length-1]=num;
}
for (int x:arr){
System.out.print(x);
}
}
结果:
4.小案例:
代码:
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int []arr=new int[2];
main:while(true){
System.out.println("请输入数据:");
int num = sc.nextInt();
int i = 0;
arr[arr.length - 1 - i] = num;
i++;
if(i >= arr.length) {
int[] newarr = new int[arr.length * 2];
for (int j = 0; j < arr.length; j++) {
newarr[j] = arr[j];
}
// 重新赋值
arr = newarr;
}
System.out.println("是否继续添加 1、是 2、否");
String flag=sc.next();
switch (flag){
case "1":
continue;
case "2":
System.out.println("当前数组为"+ Arrays.toString(arr));//Arrays,toSting 快速遍历
break main;
}
}
}
结果:
5.小案例:
代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[]=new int[]{1,2,3,4,5};
for(int i=0;i<arr.length ;i++){
System.out.print(arr[i]);
}
System.out.println();
for(int j = arr.length-1;j>=0;j--)
{
System.out.print(arr[j]);
}
}
结果:
6.小案例:
代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr[] = new int[]{1, 2, 3, 4, 5, 6, 6, 7};
//扩容
int newarr[] = new int[arr.length * 2];
for (int i = 0; i < arr.length; i++) {
newarr[i] = arr[i];
}
arr = newarr;
main:
while (true) {
System.out.println("请输入插入的下标:");
int index = sc.nextInt();
System.out.println("请输入插入的数字:");
int num = sc.nextInt();
int temp = arr[index];
arr[index] = num;
for (int j = 1; j < arr.length - index ; j++) {
//9=8,8=7
arr[arr.length - j] = arr[arr.length - j - 1];
}
arr[index + 1] = temp;
System.out.println("插入后的数组为:"+Arrays.toString(arr));
System.out.println("是否继续添加:1、是 2、否");
String flag = sc.next();
switch (flag) {
case "1":
continue;
case "2":
System.out.println("当前数组为:" + Arrays.toString(arr));
break main;
}
}
}
结果:
二、心得体会
又是被折磨的一天,孙然很繁琐,但是内写出一些了,还是有进步的,哈哈哈哈,不过还是挺累的!!!