2022-07-16 第十小组 石晓荟
作者:互联网
Java阶段性总结
*** 学习心得:**
今天是Java基础的阶段性小结,通过这三天的学习对Java有了大概了解,其中让人模糊的要数算法,也不能说是听不懂,老师讲的每一个案例都可以接受,但是在自己写的时候总是磕磕绊绊,总司有一些细节性的问题不能理解到。尤其是在将所有知识点综合起来的案例
*** 知识总结**
今天主要是以下几个例子的练习来对JAVA进行巩固熟练
1. 员工管理系统
其中用到了
switc()case{}流程控制结构
while(true){}死循环结构
数组的扩容
int[] newNos = new int[nos.length + 1];
String[] newNames = new String[names.length + 1];
newNos[index] = nos[index];
newNames[index] = names[index];
nos = newNos;
names = newNames;
点击查看代码
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.jsoft.morning;
import java.util.Scanner;
public class Ch01 {
public Ch01() {
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] nos = new int[2];
String[] names = new String[2];
int no = 1001;
int i = 0;
while(true) {
while(true) {
while(true) {
System.out.println("欢迎使用员工管理系统");
System.out.println("请选择功能:1.添加员工 2.查询员工 3.修改员工 4.删除员工");
String flag = sc.next();
byte var8 = -1;
switch(flag.hashCode()) {
case 49:
if (flag.equals("1")) {
var8 = 0;
}
break;
case 50:
if (flag.equals("2")) {
var8 = 1;
}
break;
case 51:
if (flag.equals("3")) {
var8 = 2;
}
break;
case 52:
if (flag.equals("4")) {
var8 = 3;
}
}
int index;
int s;
int index;
int j;
switch(var8) {
case 0:
System.out.println("请输入员工姓名:");
String name = sc.next();
nos[i] = no;
names[i] = name;
System.out.println("添加成功:员工的工号为:" + nos[i] + ",姓名:" + names[i]);
++i;
++no;
if (i < nos.length) {
break;
}
int[] newNos = new int[nos.length + 1];
String[] newNames = new String[names.length + 1];
for(index = 0; index < nos.length; ++index) {
newNos[index] = nos[index];
newNames[index] = names[index];
}
nos = newNos;
names = newNames;
break;
case 1:
System.out.println("请选择功能:1、根据工号查询 2、查询所有");
String n = sc.next();
byte var20 = -1;
switch(n.hashCode()) {
case 49:
if (n.equals("1")) {
var20 = 0;
}
break;
case 50:
if (n.equals("2")) {
var20 = 1;
}
}
switch(var20) {
case 0:
System.out.println("请输入要查询的员工号:");
s = sc.nextInt();
index = -1;
for(j = 0; j < nos.length; ++j) {
if (nos[j] == s) {
index = j;
break;
}
}
if (index != -1) {
System.out.println("工号:" + s + ",姓名:" + names[index]);
} else {
System.out.println("工号:" + s + "不存在!");
}
continue;
case 1:
for(j = 0; j < nos.length; ++j) {
if (nos[j] != 0) {
System.out.println("工号:" + nos[j] + ",姓名:" + names[j]);
}
}
default:
continue;
}
case 2:
System.out.println("请输入要修改的工号:");
int x = sc.nextInt();
index = -1;
for(s = 0; s < nos.length; ++s) {
if (nos[s] == x) {
index = s;
break;
}
}
if (index != -1) {
System.out.println("工号:" + x + ",姓名:" + names[index]);
System.out.println("请输入新的姓名:");
String newName = sc.next();
names[index] = newName;
System.out.println("修改成功!工号:" + x + ",姓名:" + names[index]);
} else {
System.out.println("工号:" + x + "不存在!");
}
break;
case 3:
System.out.println("请输入要查询的员工号:");
s = sc.nextInt();
index = -1;
for(j = 0; j < nos.length; ++j) {
if (nos[j] == s) {
index = j;
break;
}
}
if (index != -1) {
System.out.println("工号:" + s + ",姓名:" + names[index]);
nos[index] = 0;
names[index] = null;
int[] newNos = new int[nos.length - 1];
String[] newNames = new String[names.length - 1];
for(int j = 0; j < nos.length - 1; ++j) {
if (nos[j] == 0) {
newNos[j] = nos[j + 1];
nos[j + 1] = 0;
} else {
newNos[j] = nos[j];
}
if (names[j] == null) {
newNames[j] = names[j + 1];
names[j + 1] = null;
} else {
newNames[j] = names[j];
}
}
nos = newNos;
names = newNames;
System.out.println("工号:" + s + "删除成功!");
} else {
System.out.println("工号:" + s + "不存在!");
}
}
}
}
}
}
}
1.输入的是一个负值
2.输入的是一个正值,越界了
3.正确的情况
用到了流程控制语句
if(){ }else{ }
点击查看代码
package com.jsoft.afternoon;
import java.util.Scanner;
public class Ch01 {
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();
if(index >= 0 && index <= arr.length - 1){
// 合法的情况
System.out.println("对应位置的值是:" + arr[index]);
} else {
// 条件 <0 || >5
// 越界
System.out.println("你输入的数据有误,无法获取...");
}
}
}
点击查看代码
package com.jsoft.afternoon;
import java.util.Scanner;
public class Ch02 {
public static void main(String[] args) {
// 准备一个键盘
Scanner sc = new Scanner(System.in);
int [] arr = new int[5];
/*
输入一个数,数是从后往前加
倒序输入
第一次输入的值给arr[arr.length - 1 - 0]
第二次输入的值给arr[arr.length - 1 - 1]
第三次输入的值给arr[arr.length - 1 - 2]
数组的最大下标 = 数组的长度 - 1
*/
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i+1) +"个数:");
// 输入
int num = sc.nextInt();
arr[arr.length - 1 - i] = num;
}
for (int i : arr) {
System.out.println(i);
}
}
}
点击查看代码
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.jsoft.afternoon;
import java.util.Arrays;
import java.util.Scanner;
public class Ch04 {
public Ch04() {
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[]{1, 2, 3, 4, 5};
int[] newArr = new int[arr.length * 2];
int index;
for(index = 0; index < arr.length; ++index) {
newArr[index] = arr[index];
}
arr = newArr;
while(true) {
System.out.println("请输入要插入数据的下标:");
index = sc.nextInt();
System.out.println("请输入要插入的数据:");
int num = sc.nextInt();
int temp = arr[index];
arr[index] = num;
for(int i = 1; i < arr.length - index; ++i) {
arr[arr.length - i] = arr[arr.length - 1 - i];
}
arr[index + 1] = temp;
System.out.println("现在数组为:" + Arrays.toString(arr));
System.out.println("是否继续添加:1、是 2、否");
String flag = sc.next();
byte var9 = -1;
switch(flag.hashCode()) {
case 49:
if (flag.equals("1")) {
var9 = 0;
}
break;
case 50:
if (flag.equals("2")) {
var9 = 1;
}
}
switch(var9) {
case 0:
default:
break;
case 1:
System.out.println("当前数组为:" + Arrays.toString(arr));
return;
}
}
}
}
标签:index,石晓荟,07,arr,16,int,System,println,nos 来源: https://www.cnblogs.com/sxh0656/p/16486080.html