20220715第三组张立学习笔记
作者:互联网
知识点
数据结构:
数组是最基本的数据结构,是一张表,线性表(数据元素之间是一对一的关系)
除了第一个和最后一个之外,其余的元素都是首位连接
2,链表
3,树
4,图
数组排序:
冒泡排序 选择排序 插入排序
习题
package com.jr.morning;
import java.util.Arrays;
import java.util.Scanner;
public class ManageSystem {
public static void main(String[] args) {
/**
-
字符串拼接,友善的提示。
-
变量的名字,
*/
int [] id=new int[2];
String [] nameList=new String[2];a:for (; ; ) { Scanner sc = new Scanner(System.in); System.out.println("欢迎使用员工管理系统:"); System.out.println("请选择功能:1、添加员工 2、查询员工 3、修改员工 4、删除员工(选做)"); String flag = sc.next();
// int id = 1001;
switch (flag) {
case "1":
aa: for (;;){
System.out.println("请输入员工姓名:");
Scanner scName=new Scanner(System.in);
String name = scName.next();
for (int i = 0; i <nameList.length ; i++) {
if(nameList[i]!=null){
continue ;
}
nameList[i]=name;
int id1=1001+i;
id[i]=id1;
id1++;
System.out.println("是否添加?1 是,2 否");
Scanner ss=new Scanner(System.in);
int s = ss.nextInt();
if(s==2){
System.out.println("员工列表为"+Arrays.toString(nameList)+"员工id为"+Arrays.toString(id));
break aa;
}if(s==1){
if(i+1== nameList.length){
String [] temp=new String[nameList.length+1];
int [] tempId=new int[nameList.length+1];
for (int j = 0; j < nameList.length ; j++) {
temp[j] = nameList[j];
tempId[j] = id[j];
}
nameList=temp;
id=tempId;
}
break ;
}
}
}
break ;
/*
员工信息要保存到数组里。
1.工号(不能输入,自动生成的自动递增的一个数字1001)
2.员工姓名
员工的工号和姓名都是保存到数组里
int [] nos = new int[2];
String [] names = new String[2];
要考虑扩容问题
*/
case "2":
System.out.println("请输入要查询的工号");
Scanner scId=new Scanner(System.in);
int idSearch = scId.nextInt();
if ((idSearch-1001+1)<=id.length){
for (int i = 0; i < id.length; i++) {
if(idSearch==id[i]){
System.out.println("您所查询人的工号是:"+idSearch+",姓名为"+nameList[i]);
break ;
}
}
}else {
System.out.println("工号输入错误");
}
//二分法查找
// int left=1001;
// int right=id.length;
//
// int middle=(left+right)/2;
// while (idSearch>=left&&idSearch<=right){
// if(idSearch==middle){
// System.out.println("您所查询人的工号是:"+idSearch+",姓名为"+nameList[middle]);
// break;
// } else if (idSearch>middle) {
// left=middle;
// }else{
// right=middle;
// }
// }
//选择排序
for (int i = 0; i < id.length-1; i++) {
int min=i;
for (int j = i; j < id.length; j++) {
if(id[j]<id[min]){
min=j;
}
}
int temp=id[i];
id[i]=id[min];
id[min]=temp;
}
System.out.println(Arrays.toString(id));
/*
根据工号查询
如果有能力的同学。可以去做根据姓名查询,姓名可以重名(选坐)
*/
/*
排序,根据工号从大到小排序
*/
//根据姓名查找
System.out.println("请输入您要查找人的姓名");
Scanner nameSearch=new Scanner(System.in);
String nameFind=nameSearch.next();
a2: for (int m = 0;; m++) {
for (int z = 0; z < nameList.length ; z++) {
if(nameFind.equals(nameList[z])){
System.out.println("您查找的人姓名为"+nameFind);
break ;
}else {
System.out.println("是否继续查找?1 是,2 否");
Scanner s=new Scanner(System.in);
int num = s.nextInt();
if(num==1){
break;
}else if (num==2){
break a2;
}else {
System.out.println("输入错误");
}
}
}
}
break ;
case "3":
System.out.println("请输入要修改人的工号");
Scanner scChange = new Scanner(System.in);
int idChange = scChange.nextInt();
a3:
for (int j = 0; ; j++) {
for (int i = 0; i < id.length; i++) {
if(idChange==id[i]){
System.out.println("您所查询人的工号是,姓名为"+nameList[i]+",请输入新的名字:");
String newName=new Scanner(System.in).next();
nameList[i]=newName;
System.out.println("您的工号是:"+id[i]+"姓名更改为"+nameList[i]);
}else {
System.out.println("是否重新输入?1 是,2 否");
Scanner s1=new Scanner(System.in);
int num = s1.nextInt();
if(num==1){
break;
}else if (num==2){
break a3;
}else {
System.out.println("输入错误");
}
}
}
}
break ;
/*
修改两个操作:
先输入员工号,先查询员工号在不在,如果不在,
员工号输入有误,
如果在,先显示出原有信息,请输入新的名字,
修改信息。1002 nos[1] names[1]=
*/
case "4":
System.out.println("请输入要删除人的工号");
Scanner scDlete = new Scanner(System.in);
int idDlete = sc.nextInt();
a4: for (int j = 0; ; j++) {
for (int i = 0; i <id.length; i++) {
if(idDlete==id[i]){
nameList[i]=null;
System.out.println("修改成功");
break a4;
}else {
System.out.println("id输入错误,请重新输入");
break;
}
}
}
break ;
/*
数组删除元素;
10个元素,5个,移位的问题
int[] 0
String[] null
*/
default:
for (int k = 0; ; k++) {
System.out.println("输入错误是否继续操作?1 是,2 否");
Scanner s2=new Scanner(System.in);
int num = s2.nextInt();
if(num==1){
break;
}else if (num==2){
break a;
}else {
System.out.println("输入错误");
}
}
}
}
}
}
学习心得:
还有很多不足的地方,知识层面和思维层面存在不足,加强学习能力
心情:
心情愉悦,舒服了
标签:第三组,Scanner,20220715,int,张立,System,println,id,out 来源: https://www.cnblogs.com/damecss/p/16482695.html